2012-02-24 71 views
0

美好的一天,我是新來的cocos2d,objective-c和堆棧溢出。在多個CCTMXTiledMaps中共享CCTextureAtlas是否有很好的方法?

我想知道是否有可能在多個平鋪地圖中共享紋理圖集實例。我正在研究一個地圖系統,它應該能夠使用真正非常巨大的地圖,但由於它需要在iPhone上運行,我必須將該地圖切成許多小地圖,以便能夠將它們剔除我在我的場景中有多個CCTMXTiledMaps,它們會不斷分配和釋放。 這工作正常,但在平鋪地圖的每個分配上都有一個CCTextureAtlas生成,這會在加載時間期間凍結應用程序,並且即使瓷磚圖形無處不在也會佔用大量內存。

我環顧四周,但所有的教程只是覆蓋了只有一個平鋪地圖的情況。我也嘗試了一些可怕的黑客攻擊,但這只是導致崩潰。我想,我必須手動設置一個平鋪的映射insance(而不是loadFromFile函數),所以我對初始化有了更多的控制,但我不知道在這期間我必須對其進行合併。 謝謝!

+0

提示:像這樣的文字不停的塊,許多人只會跳過它。最好給它一些結構以使閱讀更容易。 – phlebotinum 2012-02-24 12:13:03

回答

0

如果您之前已經加載過紋理,tilemaps不應該顯着凍結遊戲。

+0

我從CCTMXTiledMap和CCTMXLayer派生了一個類,用一個預加載的引用來替換CCTexture2D的加載,因爲我的所有地圖段都使用相同的精靈表。 – Average 2012-02-24 18:21:50

+0

加速並不值得注意,因爲多個CCTextureAtlases的初始化需要大約半秒鐘的時間(簡短但醜陋的應用程序凍結)以及需要大量內存。 – Average 2012-02-24 18:27:28

相關問題