2011-07-04 20 views
1

我正在使用平鋪切割我的大圖像以節省內存,但它使用相同的數量?我的圖像是PNG格式的1986 x 1562像素,在遊戲過程中使用了31MB的內存。當我使用瓷磚地圖時,它是TMX格式的180 x 120瓷磚,並使用31MB。我只是做錯了什麼?我將TMX文件與PNG文件一起放入我的項目中。內存使用 - 大圖

我不明白。我的應用程序中大約有10張圖像。我該怎麼辦?

+0

這是一個很好的教程:http://www.raywenderlich.com/1163/how-to-make-a-tile-based-game-with-cocos2d – Felix

+0

這就是我所關注的 – Jonathan

+0

您是否將他們從紋理緩存,當你不再需要它們? – lins314159

回答

0

首先,任何3GS以上的iPhone都有最大紋理大小爲1024x1024。您的遊戲會在舊設備上崩潰。其次,OpenGL在創建紋理時將紋理大小舍入到最接近的2的冪。你的1986x1562紋理實際上是2048x2048,這是4兆流行音樂。

加載一個紋理後,您的應用程序使用了31 megs可能是由於其他因素。除非你回來一個空白的項目,只是加載一個怪異的紋理,仍然有31個,我說這是另一回事。

你應該做的是從邏輯上將你的紋理分組爲1024x1024的多個圖像。並使用Xcode的分析工具來確定內存的存儲位置。