2012-03-28 22 views
0

我需要一些建議如何使用Cocos2d使用相同的精靈來更好地工作。使用Cocos2d工作在相同的精靈

如何提高應用程序性能和內存使用量在屏幕上有超過10個完全相同的子畫面。

唯一改善我發現的是不要再加載它們的記憶,但使用這樣的CCSprite *newSprite = [CCSprite spriteWithTexture:[oldSprite texture]];

回答

2

我推薦你使用CCBatchnode,您可以加載僅1圖像到紋理內存和重用。

http://www.raywenderlich.com/1271/how-to-use-animations-and-sprite-sheets-in-cocos2d

雷在此具有偉大的教程解釋spritesheets。

+0

* CCBatchnode,你可以只加載一個圖像到紋理存儲器中並重用它。*它不是** **我做了什麼?我創建了常用紋理數組,然後用[CCSprite spriteWithTexture:[** needTextureSprite texture **]]創建一個新的精靈; – Buron 2012-03-28 11:38:32

+1

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

+0

啊哈,真的非常感謝您的解釋! – Buron 2012-03-28 13:09:52