2010-02-24 10 views
6

Uczę się programowania na iPhone'a. Próbuję wymyślić, jak zrobić naprawdę fajne niestandardowe animacje widoku. Czego powinienem się nauczyć, Quartz lub OpenGL ES?Czego powinienem się nauczyć: kwarcu lub OpenGL ES?

Dla każdego, kto mówi OpenGL ES, czy mogę go użyć do animowania moich poglądów lub czy tylko Quartz nadaje się do tego zadania? Dzięki.

Również wszelkie zasoby/książka lub cokolwiek, co uczy was tego w najbardziej bezbolesny sposób?

Odpowiedz

9

Przez Quartz prawdopodobnie masz na myśli Core Animation. Quartz to po prostu interfejs API rysowania 2-D Mac/iPhone, w którym Core Animation obsługuje animację widoków i warstw.

Używanie OpenGL do tworzenia niestandardowych animacji na widokach jest bardzo trudne, ale Core Animation jest przeznaczona do tego celu. To było dla mnie zalecenie, że jeśli myślą o tworzeniu animacji 2D, nawet w grach, powinni najpierw przyjrzeć się Core Animation i przejść do OpenGL ES tylko wtedy, gdy działanie Core Animation jest nie do przyjęcia. Core Animation pozwala zrobić dużo za pomocą małego kodu, a teraz jest tam wiele świetnych referencji na ten temat (takich jak Marcus Zarra i Matt Long's new book).

Możesz chcieć odnieść się do niektórych z tych innych pytań o więcej:

2

Możesz rzeczywiście animować widoki, nawet nie wchodząc w kwarc. Z UIKit możesz zrobić wiele rzeczy. Apple's documentation zaleca:

Generalnie powinieneś używać architektury najwyższego poziomu, która spełnia wymagania Twojej aplikacji. Użyj szkieletów niższego poziomu tylko wtedy, gdy potrzebujesz bardziej precyzyjnej kontroli lub bardziej zaawansowanych możliwości.

0

Jeśli chcesz animować swoje poglądy, zacznij od Core Animation. Może już wiele dla ciebie zrobić. Jeśli po próbie nie uzyskasz pożądanego efektu za pomocą samej CoreAnimation, użyj go w połączeniu z Quartz. Jeśli to nadal nie jest w stanie zaspokoić twoich potrzeb, zbadaj tylko OpenGL.

0

Jeśli chcesz animować ruch poglądów wokół ekran, a następnie animacja rdzenia jest tym, czego potrzebujesz.

Jeśli chcesz uruchomić niestandardową animację wewnątrz widoku, użyj OpenGLES, aby uzyskać najlepszą wydajność.

Możesz zrobić obie naraz.