从NSMutableArray读取精灵来检测碰撞

时间:2013-12-22 12:28:55

标签: cocos2d-iphone collision

我正在向这样的NSMutableArray添加精灵:

        NSMutableArray * movableSprites;

        NSString *image = [images objectAtIndex:3];
        CCSprite *sprite = [CCSprite spriteWithFile:image];
        sprite.position = ccp(AREA_A2_X2 - (i * 56), AREA_A3A5A4_Y);
        [self addChild:sprite];
        [movableSprites addObject:sprite];

到目前为止一切顺利。

现在我正试图检测它们之间的碰撞。用户可以移动精灵,但我希望精灵彼此阻挡。

所以,当我正在翻译它们时,我希望它发生在那里。顺便说一下,它是进行碰撞检测的最佳位置吗?

- (void)panForTranslation:(CGPoint)translation {
    if (selSprite) {

我打算在循环中执行以下操作:

    CGRect rect1 = [SpriteUtilities positionRect:selSprite];

    CGRect rect2 = [SpriteUtilities positionRect:EVERY_OTHER_SPRITE];

    if (!CGRectIsNull(CGRectIntersection(rect1, rect2))) {
        //handle collision
    }

事情是......我没有找到NSMutableArray方法来检索精灵对象。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

好的...经过几次阅读后我进入了这个:

CCSprite *toCollide;
for (int i = 0; i < [movableSprites count]; i++){

    toCollide = [movableSprites objectAtIndex:i];
...

谢谢!希望它可以帮助别人!