0

そこで、CCSpriteBatchNode を拡張する Berries というクラスを作成しました。ベリーは基本的に私のゲームのコインのようなもので、「衝突」するとスコア値が加算されます。これは、CCSpriteBatchNode の Berries クラスにあるコードです。

- (id) init
{
    if((self = [super init]))
    {
        CCSpriteBatchNode* berryBatch1 = [CCSpriteBatchNode batchNodeWithFile:@"One.png"];
        [self addChild:berryBatch1];

        CCSpriteBatchNode* berryBatch2 = [CCSpriteBatchNode batchNodeWithFile:@"Two.png"];
        [self addChild:berryBatch2];

        CCSpriteBatchNode* berryBatch3 = [CCSpriteBatchNode batchNodeWithFile:@"Three.png"];
        [self addChild:berryBatch3];

        for (int i = 0; i < 100; i++)
        {
            CCSprite* berry1 = [CCSprite spriteWithFile: @"One.png"];
            [berryBatch1 addChild:berry1];

            CCSprite* berry2 = [CCSprite spriteWithFile: @"Two.png"];
            [berryBatch2 addChild:berry2];

            CCSprite* berry3 = [CCSprite spriteWithFile: @"Three.png"];
            [berryBatch3 addChild:berry3];
        }
        numBerries = 
    }
    return self;
}

numBerries は私が作った int です。3 つすべての CCSpriteBatchNode のベリーの数を把握しようとしています。これにより、detectCollision メソッドを作成するときに for ループで使用できるようになります。

何か案は?

4

1 に答える 1

0

簡単だ:

numBerries = berryBatch1.children.count + 
             berryBatch2.children.count + 
             berryBatch3.children.count;
于 2013-03-16T01:36:33.217 に答える