Cocos2d iphone cocos2d子精灵与父精灵碰撞检测

Cocos2d iphone cocos2d子精灵与父精灵碰撞检测,cocos2d-iphone,parent,collision-detection,sprite,Cocos2d Iphone,Parent,Collision Detection,Sprite,嗨,我的社区 如何在cocos2d中检测子精灵与父精灵的碰撞 目前我的代码如下: CGSize screenSize = [[CCDirector sharedDirector]winSize]; parentJumper = [CCSprite spriteWithFile:@"inviBtn.png"]; jumper = [CCSprite spriteWithFile:@"jumperRight.png"]; plat = [[Platform all

嗨,我的社区

如何在cocos2d中检测子精灵与父精灵的碰撞

目前我的代码如下:

    CGSize screenSize = [[CCDirector sharedDirector]winSize];

    parentJumper = [CCSprite spriteWithFile:@"inviBtn.png"];
    jumper = [CCSprite spriteWithFile:@"jumperRight.png"];

    plat = [[Platform alloc]init];

    plat = [Platform spriteWithFile:@"platformBlack.png"];

    plat.position = ccp(160,100);

    [[UIAccelerometer sharedAccelerometer] setUpdateInterval:(1.0/60)];

    jumper.anchorPoint = ccp(0.5, 0);
    jumper.position = ccp(0, 20);
    parentJumper.position = ccp(screenSize.width/2, 0);

    [self addChild:plat];
    [self addChild:parentJumper];
    [parentJumper addChild:jumper];
if(CGRectIntersectsRect([jumper boundingBox], [plat boundingBox])) {
  //Handle collision<br>
}
现在,我如何检测“跳线”和“平台”之间的碰撞


谢谢你的帮助

通常可以这样检查碰撞:

    CGSize screenSize = [[CCDirector sharedDirector]winSize];

    parentJumper = [CCSprite spriteWithFile:@"inviBtn.png"];
    jumper = [CCSprite spriteWithFile:@"jumperRight.png"];

    plat = [[Platform alloc]init];

    plat = [Platform spriteWithFile:@"platformBlack.png"];

    plat.position = ccp(160,100);

    [[UIAccelerometer sharedAccelerometer] setUpdateInterval:(1.0/60)];

    jumper.anchorPoint = ccp(0.5, 0);
    jumper.position = ccp(0, 20);
    parentJumper.position = ccp(screenSize.width/2, 0);

    [self addChild:plat];
    [self addChild:parentJumper];
    [parentJumper addChild:jumper];
if(CGRectIntersectsRect([jumper boundingBox], [plat boundingBox])) {
  //Handle collision<br>
}
if(CGRectIntersectsRect([jumper boundingBox],[plat boundingBox])){
//处理冲突
}
首先,为什么要在平台上初始化两次?你会发现内存泄漏。第二种方法是将已比较精灵的矩形坐标转换为世界坐标,然后进行比较