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

仔细阅读后,我了解到一个CCSpriteBatchNode一次只能接受1个纹理表,这对关卡设计提出了一些限制(子图形表最大可以为2048x2048像素discussion)。尽管有一些扩展似乎可以克服此局限性(我还不敢尝试)CCBigImage

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

1的ShootEmUp示例中,方法是在ParallaxNode和其他类(例如EnemyCache)中找到CCSpriteBatchNode(在链接book source code link的第8章中找到源)

尽管我在cocos2d-iphone.org论坛上进行了一些研究,发现以下主题,但主持人建议仅将CCSpriteBatchNode的一个实例添加到根层forum topic

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

是否有多个CCSpriteBatchNode?
每个级别一张或多张纹理纸?

非常感谢您的阅读:)

最佳答案

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

09-25 21:35