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

标签 ios cocos2d-iphone textures ccsprite frame-rate

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

阅读了一下,我了解到一个 CCSpriteBatchNode 一次只能接受一张纹理表,这对关卡设计造成了一些限制( Sprite 表可以最大为 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。您可能需要发布一些代码才能找到问题的根源

关于ios - Cocos2D 游戏场景中 CCSpriteBatchNode 和纹理表的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10333026/

相关文章:

ios - 创建 Sprite 时无法在等距平铺 map 中找出正确的 vertexZ

opengl - opengl中的正交投影和纹理坐标

c++ - 如何将 FTexture2DRHIRef 导出为 png?

iphone - 仅在第一次打开时加载 ModalView

ios - 在 iOS 7 中方向改变时出现不相关的错误

ios - iOS 和 "invalid_grant"上的 Google 云端硬盘

javascript - WebGL 仅渲染/加载某些 PNG 文件

ios - 如何使用 objective-c 停止和启动应用程序委托(delegate)计时器?

ios - Cocos2d for iPhone 中高效的逐帧动画

objective-c - Cocos2D : Gap in scrolling background