3
我有一些動畫「怪物」的遊戲。動畫是爲每個怪物製作〜20 png的圖片。所以我使用UIImageView
並設置了animationImages:
。iOS動畫效果
問題是,有時屏幕上可能會出現很多怪物(總共多達110個,最多10個不同)。所以當他們都在屏幕上同時 - 我看到動畫問題(非常低fps)。
請你能給我一些建議 - 我該如何解決這個問題?
我有一些動畫「怪物」的遊戲。動畫是爲每個怪物製作〜20 png的圖片。所以我使用UIImageView
並設置了animationImages:
。iOS動畫效果
問題是,有時屏幕上可能會出現很多怪物(總共多達110個,最多10個不同)。所以當他們都在屏幕上同時 - 我看到動畫問題(非常低fps)。
請你能給我一些建議 - 我該如何解決這個問題?
您可以使用CoreAnimation
,如this教程中所述。它很好地解釋了你可以使用的所有技術來提高現在的性能(首先它不使用UIViews
和標準animationImages
,其次它使用了精靈(也稱爲紋理地圖集),它不僅提高性能,但在管理圖像資源方面也會讓您的生活更輕鬆)。
也可以使用CADisplayLink創建一個game loop
,您可以在其中進行所有更新。這裏有幾個關於SO的問題/答案來描述這一點。
使用CoreAnimation不會解決CPU使用率問題,爲此,您需要先將PNG圖像解碼爲磁盤。然後,直接從磁盤加載已解碼的像素數據,以限制CPU使用率。如果你一次有很多很多的動畫,那麼這就是你如何使它們平滑和無閃爍。 – MoDJ