我正在使用cocos2d-iphone将精灵放置在图层上以设置游戏场地。在游戏中的某些点,某些精灵需要根据游戏条件被移除。我想要做的是设置一个Sprite指针数组,但我有两个问题:
将Sprite指针放在数组中的最佳方法是什么?
如何仅使用指向Sprite的指针删除cocos2d中的Sprite?我知道如何从其父层执行此操作,但这对主游戏循环而言过于运行时密集。
提前致谢!
答案 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]
。