ioscocos2d-iphoneintccspritebatchnode

Adding a stream of sprites using a CCSpriteBatchNode in cocos2d?


So I created a class called Berries that extends CCSpriteBatchNode. The Berries are basically like coins in my game, adding to the score value if 'collided' with. This is the code I have in my Berries class for CCSpriteBatchNode:

- (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 is an int that I made. I am trying to figure out the number of berries in all three CCSpriteBatchNodes so that when I make a detectCollision method I can use it in the for loop.

Any ideas?


Solution

  • It's simple:

    numBerries = berryBatch1.children.count + 
                 berryBatch2.children.count + 
                 berryBatch3.children.count;