IPhone and Cocos2d Sprites/Layers
I am using cocos2d-iphone to place Sprites onto a Layer to setup a game playfield. At certain points in the game, certain Sprites need to be removed based upon game conditions. What I would like to do is setup an array of Sprite pointers, but I have two questions:
What's the best way to place Sprite pointers in an array?
How does one remove the Sprite in cocos2d with only a pointer to the Sprite? I know how to do it from its parent layer, but that is too runtime intensive for the main game loop.
Thanks in advance!
The Sprite class inherits from CocosNode, so you should be able to call spritePointer.parent.remove(spritePointer)
I figured it out. If anyone else is interested, the way to do it is to declare an array of Sprite pointers, such as:
Sprite * mySprites; // assuming a 10x10 playfield where obstacles get placed
Then, when setting up your Sprites:
mySprites = [Sprite spriteWithFile: @"obstacle.png"]; [myLayer add:mySprites];
To remove the Sprite:
There's also [mySprite removeFromParentAndCleanup:YES].