我正在使用cocos2d-iphone将Sprites放置在Layer上来设置游戏场地。在游戏的某些时刻,基于游戏条件,需要移除某些Sprites。我想做的是设置一个Sprite指针的数组,但我有两个问题:
把 Sprite 指针放入数组中最好的方法是什么?
如何仅通过精灵指针在cocos2d中移除Sprite?我知道如何从其父图层中执行此操作,但这对于主游戏循环来说过于运行时密集。
提前致谢!
我正在使用cocos2d-iphone将Sprites放置在Layer上来设置游戏场地。在游戏的某些时刻,基于游戏条件,需要移除某些Sprites。我想做的是设置一个Sprite指针的数组,但我有两个问题:
把 Sprite 指针放入数组中最好的方法是什么?
如何仅通过精灵指针在cocos2d中移除Sprite?我知道如何从其父图层中执行此操作,但这对于主游戏循环来说过于运行时密集。
提前致谢!
Sprite
类继承自 CocosNode
,因此您应该能够调用 spritePointer.parent.remove(spritePointer)
。
我已经弄清楚了。如果还有其他人感兴趣,实现这个的方法是声明一个Sprite指针数组,例如:
Sprite * mySprites[10][10]; // assuming a 10x10 playfield where obstacles get placed
接下来,当设置您的Sprites时:
mySprites[0][0] = [Sprite spriteWithFile: @"obstacle.png"];
[myLayer add:mySprites[0][0]];
移除雪碧 (yíchú xuěpī)
[myLayer remove:mySprites[0][0]];
还有 [mySprite removeFromParentAndCleanup:YES]
。