UIView "сосать" анимацию - PullRequest
       23

UIView "сосать" анимацию

14 голосов
/ 19 апреля 2010

Я бы хотел использовать переход "всасывания" UIView (представление "всасывается" в точку), на который есть ссылка:

http://iphonedevwiki.net/index.php/UIViewAnimationState#Using_suckEffect

Однако в приведенном выше методе используются частные API, что делает его практически бесполезным для приложения App Store. Как я могу воссоздать подобный эффект, не полагаясь на частные API? Я предполагаю, что ответ связан с OpenGL, хотя у меня там нет опыта.

Ответы [ 3 ]

7 голосов
/ 16 марта 2011

Пока Apple публично не документирует эффект, и вы хотите избежать риска быть отклоненным из-за использования частных API, вам придется использовать свой собственный.

Предложением начать работу над этим будет использование шейдеров OpenGL ES.

Следующая запись блога включает демонстрационный патч Quartz Composer для создания эффекта Genie, как видно в OS X и iOS: http://www.aderstedtsoftware.com/users/erik/weblog/c7cb9/

Хорошим началом для вашего шейдера OpenGL ES было бы использование кода в Genie Filter в этом файле QuartzComposer. Код можно почти скопировать в шейдер для OpenGL как есть. Вероятно, большая часть работы будет заключаться в интеграции OpenGL в ваше приложение: визуализация правильного вида текстуры OpenGL и наложение OpenGL поверх вашего приложения для выполнения анимации на основе вашего шейдера.

3 голосов
/ 08 апреля 2011

Пожалуйста, посмотрите на мой проект на git: //github.com/rmd6502/Genie.git - сейчас он очень медленный, но улучшения ожидаются.

0 голосов
/ 08 мая 2010

Вы проверили каркас cocos2d.это целевая оболочка c для openGL, и она сделана действительно хорошо.Вы можете посмотреть их демонстрационное видео, в котором показаны все типы переходов, которые поддерживает библиотека.

...