2010-02-24 4 views
6

J'apprends à programmer pour l'iPhone. J'essaie de comprendre comment faire des animations de vue personnalisées vraiment cool. Que devrais-je apprendre, Quartz ou OpenGL ES?Que devrais-je apprendre: Quartz ou OpenGL ES?

Pour quiconque dit OpenGL ES, pourrais-je l'utiliser pour animer mon point de vue ou seul Quartz est-il adapté à cette tâche? Merci.

Aussi des ressources/le livre ou tout ce qui vous enseigne ce genre de choses de la manière la plus indolore?

Répondre

9

Par Quartz, vous voulez probablement dire Core Animation. Quartz est simplement l'API de dessin 2D/Mac, où Core Animation gère l'animation des vues et des calques.

Il est très difficile d'utiliser OpenGL pour effectuer des animations personnalisées sur les vues, mais Core Animation est conçu dans ce but. Il a été recommandé aux gens que s'ils envisagent de faire des animations 2D, même dans les jeux, ils devraient d'abord regarder Core Animation et aller à OpenGL ES seulement si les performances de Core Animation sont inacceptables. Core Animation vous permet de faire beaucoup avec juste un peu de code, et il y a maintenant beaucoup de bonnes références sur le sujet (telles que Marcus Zarra et new book de Matt Long).

Vous pouvez vous référer à certaines de ces questions pour en savoir plus:

2

Vous pouvez réellement animer des vues sans même aller dans Quartz. Il y a beaucoup de choses que vous pouvez faire avec UIKit. Apple's documentation recommande:

En général, vous devez utiliser le framework de plus haut niveau qui répond aux exigences de votre application. Utilisez des frameworks de niveau inférieur uniquement lorsque vous avez besoin d'un contrôle plus précis ou de fonctionnalités plus puissantes.

0

Si vous voulez animer vos vues, commencez par Core Animation. Cela peut faire beaucoup pour vous déjà. Si après avoir essayé, vous ne pouvez pas obtenir l'effet que vous voulez avec CoreAnimation seul, utilisez-le avec Quartz. Si cela ne correspond toujours pas à vos besoins, ne faites qu'examiner OpenGL.

0

Si vous souhaitez animer le mouvement de vues autour de la écran puis l'animation de base est ce que vous voulez.

Si vous souhaitez exécuter une animation personnalisée dans une vue, vous devez utiliser OpenGLES pour obtenir les meilleures performances.

Vous pouvez faire les deux à la fois.