-2

ios での Cocos2d 開発は初めてです。2 つのスプライト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 に答える