0
我正在使用CCTMXTiledMap提取我的Layer的Init函數中不同位置的對象的屬性。我將這些職位存儲在一個單獨的數組中,不再需要TileMap。Cocos2d:TileMap:如何最大限度地減少Tilemap的內存使用率
下面是代碼:
-(void) init{
...
CCTMXTiledMap *tileMap = [CCTMXTiledMap tiledMapWithTMXFile:@"TileMap2.tmx"];
CCTMXLayer *tmxLayer= [tileMap layerNamed:@"Layer1"];
for(int i=0;i<9999;i++)
{
for(int j=0;j<20;j++)
{
int gid = [tmxLayer tileGIDAt:ccp(i,j)];
properties = [tileMap propertiesForGID:gid];
_obstacles[m].type = CUBE_; m++;
}
}
...
}
之後初始化方法tilemap的得到釋放。
問題:因爲Tilemap非常大(9999x20),所以需要很多內存。所以當for循環運行時,內存峯值高達18MB。
有沒有其他的方法可以提取不同位置的屬性?
謝謝我會嘗試 – user739711 2012-08-02 16:51:31
解決..我打破我的長瓷磚地圖成3個小瓷磚地圖。 – user739711 2012-08-02 17:55:33