Правильный инструмент для работы: CoreAnimation, Cocoa Animation или OpenGL ES? - PullRequest
1 голос
/ 06 августа 2010

Я относительно новичок в работе с графикой на iPhone и надеялся получить некоторые рекомендации по поводу того, какую технологию мне следует использовать.Проблема, с которой я сталкиваюсь, заключается в том, что мне нужно создать приложение для iPhone, в котором будет вращающееся колесо, думаю, колесо Price Is Right .

Я не ищу никогоподробное решение, которое испортило бы мое веселье!Я просто хотел бы знать, было бы лучше использовать прямую анимацию какао и рисовать и перемещать каждую ячейку вручную, когда колесо вращается, или я должен попытаться использовать основные слои анимации?Я также думал об использовании OpenGL ES и создании настоящего цилиндра в 3D, а затем его вращении, это кажется мне наиболее логичным, но опять же я новичок во всем этом.

Ответы [ 2 ]

3 голосов
/ 06 августа 2010

В подобных ситуациях я обычно рекомендую сначала взглянуть на Core Animation и переходить на OpenGL ES, только если вы не можете получить необходимую производительность. Перекручивание колеса кадр за кадром с использованием только Кварца приведет к ужасной производительности, так что это на самом деле не вариант.

Используя Core Animation, вы можете выполнять сложные анимации, такие как вращение, не требуя большого количества кода. Вы также можете использовать UIViews и другие компоненты UIKit, чтобы обеспечить сенсорное взаимодействие легко. Вам даже не обязательно переходить к использованию слоев, так как каждый UIView имеет слоистую основу, и они, как правило, довольно легкие.

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

0 голосов
/ 07 августа 2010

Основываясь на отзывах, я углубился в Core Animation и смог выполнить то, что мне нужно, используя егоСпасибо за все советы.

...