2012-01-16 24 views
2

我正在使用UIView進行遊戲。 我使用一個大的(8192x8192)UIView作爲地圖區域,(遊戲是鳥瞰圖),UIImageView橫跨顯示草地紋理。 這使用堆內存,不能在舊設備上運行,幾乎崩潰的Xcode每當我試圖編輯...8192x8192 UIView Lag

是否有創建8192x8192的地圖的另一種方法,但沒有被laggy?

+0

使用OpenGL?或者使用它的框架就像cocos2d – Dani 2012-01-16 06:07:47

回答

2

如果可以平鋪圖形,涉及到CATiledLayer的東西可能會非常合適。 CATiledLayer允許您僅提供顯示視圖當前可查看區域所需的圖像(就像Maps一樣)。

Here是用於顯示大型PDF的一些示例代碼。

+0

我有類似的情況。我有一個遊戲,其中地圖文件存儲爲巨大的PNG。我還沒有遇到問題,但我恐怕會。但是,我似乎無法使用鏈接中的代碼與我自己的文件,甚至是我轉換爲pdf格式的文件。我得到一個錯誤告訴我,我的URL字符串是零。 – WolfLink 2012-01-16 07:43:17

+0

我發現CATiledLayer不適用於遊戲地圖......我只是放棄了自己的版本,只在屏幕的一定距離內加載UIImageViews。 – Sosumi 2012-01-18 09:16:33

+0

實際上,可能沒有Cocoa Touch控件是理想的遊戲......這就是爲什麼OpenGL和所有其他iOS遊戲引擎都存在的原因。 – UIAdam 2012-01-18 17:07:25