IPhone和Cocos2d Sprites / Layers

时间:2008-11-26 16:49:54

标签: iphone objective-c cocos2d-iphone

我正在使用cocos2d-iphone将精灵放置在图层上以设置游戏场地。在游戏中的某些点,某些精灵需要根据游戏条件被移除。我想要做的是设置一个Sprite指针数组,但我有两个问题:

将Sprite指针放在数组中的最佳方法是什么?

如何仅使用指向Sprite的指针删除cocos2d中的Sprite?我知道如何从其父层执行此操作,但这对主游戏循环而言过于运行时密集。

提前致谢!

3 个答案:

答案 0 :(得分:3)

Sprite类继承自CocosNode,因此您应该可以致电spritePointer.parent.remove(spritePointer)

答案 1 :(得分:2)

我明白了。如果其他人感兴趣,那么这样做的方法是声明一个Sprite指针数组,例如:

Sprite * mySprites[10][10]; // assuming a 10x10 playfield where obstacles get placed

然后,在设置精灵时:

mySprites[0][0] = [Sprite spriteWithFile: @"obstacle.png"];   
[myLayer add:mySprites[0][0]];  

删除精灵:

[myLayer remove:mySprites[0][0]];

答案 2 :(得分:2)

还有[mySprite removeFromParentAndCleanup:YES]