我正在修改我在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? 每个级别或多个纹理表单?
非常感谢阅读:)
答案 0 :(得分:1)
我不认为你的帧速率问题是由多个CCSpriteBatchNode引起的......我在一个类中使用了多个CCSpriteBatchNode,我怀疑这是个问题。但是,您只能拥有一个CCSpriteFrameCache。您可能需要发布一些代码才能找到问题的根源