2010-02-24 38 views
6

我正在學習爲iPhone編程。我試圖找出如何做一些非常酷的自定義視圖動畫。我應該學什麼,Quartz或OpenGL ES?我應該學習什麼:Quartz或OpenGL ES?

對於誰說OpenGL ES,我可以用它來動畫我的視圖還是隻有Quartz適合這個任務?謝謝。

此外還有任何資源/書籍或任何以最無痛的方式教你這些東西的東西?

回答

9

通過石英,你可能是指核心動畫。 Quartz只是Mac/iPhone 2-D繪圖API,其中Core Animation處理視圖和圖層的動畫。

使用OpenGL在視圖上執行自定義動畫是非常困難的,但Core Animation是爲此目的而設計的。我曾向人們建議,如果他們正在考慮製作二維動畫,即使在遊戲中,他們也應該先看看Core Animation,並且只有在Core Animation的性能不可接受的情況下才能看到OpenGL ES。核心動畫可以讓你用很少的代碼做很多事情,現在有很多關於這個主題的很好的參考資料(比如Marcus Zarra和Matt Long的new book)。

您不妨參考這方面的一些其他問題的更多:

2

實際上,您甚至可以在沒有進入Quartz的情況下對動畫進行動畫處理。你可以用UIKit做很多事情。 Apple's documentation recommended:

通常,您應該使用符合您的應用程序要求的最高級別的框架。只有當您需要更精確的控制或更強大的功能時才使用低級框架。

0

如果要爲視圖設置動畫,請從Core Animation開始。它可以爲你做很多事情。如果嘗試後無法單獨獲得CoreAnimation所需的效果,請將其與Quartz結合使用。如果仍然不能滿足您的確切需求,那麼只能調查OpenGL。

0

如果你想動畫的周圍的景色運動屏幕,然後核心動畫是你想要的。

如果您想在視圖內部運行自定義動畫,那麼您應該使用OpenGLES以獲得最佳性能。

你可以同時做兩個。