我正在使用 cocos2d-iphone 将 Sprites 放置到图层上以设置游戏场地。在游戏中的某些点,需要根据游戏条件移除某些 Sprite。我想做的是设置一个 Sprite 指针数组,但我有两个问题:
将 Sprite 指针放在数组中的最佳方法是什么?
如何仅使用指向 Sprite 的指针删除 cocos2d 中的 Sprite?我知道如何从其父层做到这一点,但这对于主游戏循环来说过于运行时密集。
提前致谢!
我正在使用 cocos2d-iphone 将 Sprites 放置到图层上以设置游戏场地。在游戏中的某些点,需要根据游戏条件移除某些 Sprite。我想做的是设置一个 Sprite 指针数组,但我有两个问题:
将 Sprite 指针放在数组中的最佳方法是什么?
如何仅使用指向 Sprite 的指针删除 cocos2d 中的 Sprite?我知道如何从其父层做到这一点,但这对于主游戏循环来说过于运行时密集。
提前致谢!
该类Sprite
继承自CocosNode
,因此您应该可以调用spritePointer.parent.remove(spritePointer)
我想到了。如果其他人有兴趣,方法是声明一个 Sprite 指针数组,例如:
Sprite * mySprites[10][10]; // assuming a 10x10 playfield where obstacles get placed
然后,在设置 Sprite 时:
mySprites[0][0] = [Sprite spriteWithFile: @"obstacle.png"];
[myLayer add:mySprites[0][0]];
要删除精灵:
[myLayer remove:mySprites[0][0]];
还有[mySprite removeFromParentAndCleanup:YES]
。