0
我需要一些建议如何使用Cocos2d使用相同的精灵来更好地工作。使用Cocos2d工作在相同的精灵
如何提高应用程序性能和内存使用量在屏幕上有超过10个完全相同的子画面。
唯一改善我发现的是不要再加载它们的记忆,但使用这样的CCSprite *newSprite = [CCSprite spriteWithTexture:[oldSprite texture]];
我需要一些建议如何使用Cocos2d使用相同的精灵来更好地工作。使用Cocos2d工作在相同的精灵
如何提高应用程序性能和内存使用量在屏幕上有超过10个完全相同的子画面。
唯一改善我发现的是不要再加载它们的记忆,但使用这样的CCSprite *newSprite = [CCSprite spriteWithTexture:[oldSprite texture]];
我推荐你使用CCBatchnode,您可以加载仅1图像到纹理内存和重用。
http://www.raywenderlich.com/1271/how-to-use-animations-and-sprite-sheets-in-cocos2d
雷在此具有伟大的教程解释spritesheets。
* CCBatchnode,你可以只加载一个图像到纹理存储器中并重用它。*它不是** **我做了什么?我创建了常用纹理数组,然后用[CCSprite spriteWithTexture:[** needTextureSprite texture **]]创建一个新的精灵; – Buron 2012-03-28 11:38:32
CCBatchnode处理所有子项的所有绘制方法。 CCSprite做了6次绘制方法,CCBatchnode做了10次,但是如果你有10个CCSprites,那60个绘制方法,10个CCSprites是CCBatchnode的子节点,你仍然只有10个绘制方法被调用。这很快。你可以使用[CCSprite spriteWithSpriteFrameName:@“myFrame.png”]轻松地调用一个精灵,它更快更轻松。 如果你绝对必须使用spriteWithTexture,不要忘记你需要设置显示框。深入研究spriteWithTexture:检查它的功能。 – Bongeh 2012-03-28 12:21:25
啊哈,真的非常感谢您的解释! – Buron 2012-03-28 13:09:52