2009-02-26 53 views
1

我有我想要動畫的各種UIImage序列的集合。事實證明,使用計時器並執行drawRect有一些性能問題。如何在iPhone上實現2D圖像動畫?

我的下一步是調查使用UIImageView,但顯然,如果您不止一次更新animationImages數組有內存泄漏。

我的下一步是研究使用CALayer和CAAnimation來做到這一點,但在快速瀏覽文檔後,他們似乎並沒有表明它是用來在圖像之間進行動畫處理(注意,我沒有改變位置或其他任何東西,只是圖像)。

我是走向正確的道路,還是有一些其他的方向,我應該調查?

回答

1

你真的需要不止一次地更新UIImageView中的圖像數組嗎?如果你需要在動畫被使用後改變它,我會認爲最好創建一個新的UIImageView?

我聽說存在的UIImageView的陣列動畫內存泄漏,但我一直在使用它,因爲2.0版已經和沒有與任何顯著的問題。 YMMV當然。

要首先設置幀數組,請使用UIImages(每幀一個)載入一個NSMutableArray,並將其設置爲UIImageView的animationImages屬性(然後設置animationDuration屬性)。只要您想爲其設置動畫,就可以調用startAnimating方法。在正常使用中,您不需要更改一次設置的幀數組。

+0

我有3個不同的全屏動畫,我正在使用...現在我要嘗試使用3個imageViews,並在他們需要時調用[bringToFront]。 – Jonas 2009-02-26 16:58:16

-1

我對iPhone開發不熟悉,但聽起來你需要一個2D動畫精靈。包含每個框架的大型圖像文件,並且一次只顯示一個框架。像編制二維數組一樣,但您只需跟蹤每個幀的像素偏移。

相關問題