2

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

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

如何仅使用指向 Sprite 的指针删除 cocos2d 中的 Sprite?我知道如何从其父层做到这一点,但这对于主游戏循环来说过于运行时密集。

提前致谢!

4

3 回答 3

3

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

于 2008-11-26T17:46:28.403 回答
2

我想到了。如果其他人有兴趣,方法是声明一个 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]];
于 2008-11-26T18:00:24.210 回答
2

还有[mySprite removeFromParentAndCleanup:YES]

于 2012-05-26T21:24:44.303 回答