-2

我是 ios 中 Cocos2d 开发的新手。我想在我的两个精灵knightcoins. 所以对于我的coins精灵,我尝试了类似下面的东西:

- (void)coinSidewaysRowOne {

self.visible = YES;

if (coinSide1 == FALSE)
{
    coinSide1 = TRUE;
    NSLog(@"coinSide1 = TRUE");
    NSInteger originalX = 150;
    for(int i = 0; i < 8; i++)
    {
        CCSprite *coinHorizontal = [CCSprite spriteWithFile:@"bubble.png"];
        coinHorizontal.position = ccp(originalX, 150);
        originalX += 20;
        [self addChild:coinHorizontal];
        [self.coinArray addObject:coinHorizontal];
    }
}
}

并将其放入我的更新方法中

[self coinSidewaysRowOne];

然后我NSMutableArray在我的方法中创建了一个属性.h

@property (nonatomic, assign) NSMutableArray *coinArray;

如您所见,我[self.coinArray addObject:coinHorizontal];在我的coinSidewaysRowOne方法中添加了这一行

如何将其写入我的数组并检测骑士和硬币精灵之间的碰撞。

我期待这样的事情:

(void)coinGotCollected {
    coin.visible = FALSE;
    coin.position = ccp(-MAX_INT, 0);
    [Store addInAppCurrency:coinValue];
}

非常感谢任何帮助。谢谢你。

4

2 回答 2

4

在你的update方法中:

for (CCSprite *coin in self.coinArray)
{
    if (CGRectIntersectsRect(knight.boundingBox, coin.boundingBox))
     {
        [self processCollision];//do what you need when a collision is detected
         break;
     }
}
于 2013-07-18T06:56:27.287 回答
1

为了检测精灵之间的碰撞检测,您可以使用函数CGRectIntersectsRect来检查精灵之间是否存在碰撞。

你可以参考这个链接。:http ://www.raywenderlich.com/25736/how-to-make-a-simple-iphone-game-with-cocos2d-2-x-tutorial

请参阅此链接,您可以了解应该如何实现精灵之间的碰撞

于 2013-07-18T07:01:59.237 回答