如何在将帧分布到多个纹理时利用CCSpriteBatchNode

时间:2012-07-12 01:50:10

标签: ios cocos2d-iphone ccsprite

在我的游戏中,有很多敌人(CCNode的子类)将动画帧分配到多个纹理文件(enemy01.png,enemy02.png ...)中,并且来自不同纹理的敌人可能是在同一场景中生成。

我想有一个统一的方法来动态地将随机生成的敌人添加到正确的CCSpriteBatchNode,但查找表似乎不那么优雅。有没有更好的方法来处理它?<​​/ p>

由于

1 个答案:

答案 0 :(得分:0)

由于每个敌人都使用自己的纹理,因此每个敌人可以使用一个精灵批处理节点。所以当你创建敌人“X”时,从你存储它的任何地方(也许是一个NSDictionary)获取相应的精灵批处理节点应该不难。

请记住,每个敌人的一个sprite批处理节点都无法达到目的,特别是如果每​​个敌人的纹理图集相当小并且甚至不接近最大允许大小(旧设备为1024x1024,iPhone为2048x2048或更高) 3GS和更新)。如果可能的话,将尽可能多的图像填充到一个纹理图集中,并为其使用一个精灵批处理节点。