2010-02-24 2 views
6

Я учусь программировать для iPhone. Я пытаюсь понять, как сделать некоторые действительно классные пользовательские анимации просмотра. Что я должен узнать, кварц или OpenGL ES?Что я должен узнать: Кварц или OpenGL ES?

Для тех, кто говорит OpenGL ES, могу ли я использовать его для анимации моих представлений или только для кварца, подходящего для задачи? Благодарю.

Также любые ресурсы/книга или что-нибудь, что вас учит этим самым безболезненным способом?

ответ

9

Кварц, вы, вероятно, имеете в виду Core Animation. Quartz - это просто API-интерфейс рисования Mac/iPhone 2-D, в котором Core Animation обрабатывает анимацию просмотров и слоев.

Очень сложно использовать OpenGL для выполнения пользовательских анимаций на представлениях, но Core Animation предназначена для этой цели. Моя рекомендация для людей заключалась в том, что если они думают о выполнении 2D-анимации, даже в играх, они должны сначала взглянуть на Core Animation и перейти на OpenGL ES, только если производительность Core Animation неприемлема. Core Animation позволяет вам делать многое с помощью всего лишь небольшого кода, и теперь есть много замечательных ссылок на эту тему (например, Marcus Zarra и Matt Long's new book).

Вы можете сослаться на некоторые из этих вопросов больше:

2

Фактически вы можете анимировать виды, даже не входя в кварц. С UIKit вы можете многое сделать. Apple's documentation рекомендует:

В общем, вы должны использовать раму высочайшего уровня, которая соответствует требованиям вашего приложения. Используйте структуры нижнего уровня только тогда, когда вам нужен более точный контроль или более мощные возможности.

0

Если вы хотите анимировать свои взгляды, начните с Core Animation. Он может многое для вас сделать. Если после попытки вы не сможете получить эффект, который вы хотите, только в CoreAnimation, используйте его совместно с Quartz. Если это все еще не укладывается в вашу конкретную потребность, то изучите только OpenGL.

0

Если вы хотите, чтобы оживить движение взглядов по всему экран, то основная анимация - это то, что вы хотите.

Если вы хотите запустить пользовательскую анимацию внутри представления, вы должны использовать OpenGLES для максимальной производительности.

Вы можете сделать оба сразу.

Смежные вопросы