Cocos2D游戏场景中CCSpriteBatchNode和纹理表的最佳方法是什么

时间:2012-04-26 12:04:45

标签: ios cocos2d-iphone textures ccsprite frame-rate

我正在修改我在Learn Cococs2D上找到的一些教程,发现当我在一个类中使用多个CCSpriteBatchNode时,帧速率会下降。

读了一下我明白一个CCSpriteBatchNode一次只能接受1张纹理表,这对级别设计造成了一些限制(精灵表可以是最大2048x2048像素discussion)。虽然有一些扩展似乎克服了这个限制(我还没敢尝试)CCBigImage

我正在尝试遵循一种文件方法并将所有图像加载到一个CCSpriteFrameCache中,但我在programming guides上没有找到太多关于此的内容。

1的ShootEmUp示例中,方法是在ParallaxNode中以及其他类中使用CCSpriteBatchNode,例如EnemyCache(在链接book source code link上找到文件夹第8章上的源代码)

虽然我已经在cocos2d-iphone.org论坛上进行了一些研究,但发现了以下主题,其中主持人建议只将一个CCSpriteBatchNode实例添加到根层 forum topic

我现在有点困惑。我注意到的一件事是,遵循1方法(多个实例),帧速率不是最佳的。你有类似的经历,你如何解决这个问题?

是否有多个CCSpriteBatchNode? 每个级别或多个纹理表单?

非常感谢阅读:)

1 个答案:

答案 0 :(得分:1)

我不认为你的帧速率问题是由多个CCSpriteBatchNode引起的......我在一个类中使用了多个CCSpriteBatchNode,我怀疑这是个问题。但是,您只能拥有一个CCSpriteFrameCache。您可能需要发布一些代码才能找到问题的根源