2010-02-24 22 views
6

Estoy aprendiendo a programar para el iPhone. Estoy intentando descubrir cómo hacer algunas animaciones de vistas personalizadas realmente geniales. ¿Qué debo aprender, Quartz u OpenGL ES?¿Qué debo aprender: Quartz u OpenGL ES?

Para quien dice OpenGL ES, ¿podría usarlo para animar mis vistas o solo es adecuado para la tarea de Quartz? Gracias.

También cualquier recurso/libro o cualquier cosa que te enseñe estas cosas de la manera más indolora?

Respuesta

9

Por Quartz, probablemente quieras Core Animation. Quartz es simplemente la API de dibujo de Mac/iPhone 2-D, donde Core Animation maneja la animación de vistas y capas.

Es muy difícil utilizar OpenGL para realizar animaciones personalizadas en las vistas, pero Core Animation está diseñado para este propósito. Ha sido mi recomendación para las personas que si están pensando en hacer animaciones en 2-D, incluso en juegos, deberían mirar Core Animation primero y acceder a OpenGL ES solo si el rendimiento de Core Animation es inaceptable. Core Animation le permite hacer mucho con solo un pequeño código, y ahora hay muchas referencias excelentes sobre el tema (como Marcus Zarra y Matt Long's new book).

Es posible que desee hacer referencia a algunas de estas otras preguntas para más:

2

Puedes animar vistas sin siquiera entrar en Quartz. Hay muchas cosas que puedes hacer con UIKit. Apple's documentation recomienda:

En general, debe utilizar el marco de más alto nivel que cumpla con los requisitos de su aplicación. Utilice marcos de nivel inferior solo cuando necesite un control más preciso o capacidades más potentes.

0

Si desea animar sus puntos de vista, comience con Core Animation. Ya puede hacer mucho por ti. Si después de intentarlo no puedes obtener el efecto que deseas con CoreAnimation solo, entonces úsalo junto con Quartz. Si aún así no puede satisfacer su necesidad exacta, solo investigue OpenGL.

0

Si desea animar el movimiento de los puntos de vista de todo el pantalla y animación central es lo que quieres.

Si desea ejecutar una animación personalizada dentro de una vista, debe usar OpenGLES para obtener el mejor rendimiento.

Puede hacer ambas cosas a la vez.

Cuestiones relacionadas