Векторная графика с анимацией на iOS внутри приложения?

Ищем способ для отображения анимированой векторной графики внутри нативного iOS приложения.


Почему именно вектор? Художник рисует персонажей в векторе, потом загоняет их в Flash и анимирует. Для персонажей предусмотрено множество шмоток и анимаций, и если делать покадровую спрайтовую анимацию, то при добавлении новой шмотки нам нужно будет рендерить все варианты анимаций для всех вариантов внешнего вида персонажей, т.к. скелетная спрайтовая анимация выглядит убого.

Приложение делаем в xcode на Objective-C. Сейчас остановились на варианте от Adobe — Flash Toolkit for CreateJS ( www.adobe.com/products/flash/flash-to-html5.html )


Отображаем полученное в UIWebView. Все в принципе работает, можем заменять одни элементы на другие и запускать анимацию отдельно для каждого элемента (то что нужно). Но есть проблемы с производительностью, так что вектор посложней уже использовать не получится. Да и решение выглядит как-то костыльно и не нативно.

Возможно есть еще какие-нибудь варианты которые мы не учли?
  • Вопрос задан
  • 6530 просмотров
Пригласить эксперта
Ответы на вопрос 4
Flanker_4
@Flanker_4
Я в этом абсолютно не эксперт, но все же решил потратить пару минут на поиск решения Вашей проблемы: а что если использовать svg?
Насколько я помню, он позволяет реализовывать анимацию. Библиотек для рендера svg под ios я нашел нескольно, но все они не поддерживают анимацию. Может плохо искал.
И тут бы можно опустить руки, но вот эта библиотека https://github.com/SVGKit/SVGKit ВРОДЕ позволит выполнить анимацию слоев через core animation. Вопрос только в том, откуда взять параметры для анимации (к примеру вручную вытащить из svg )
Ну или другой вариант-написать свой рендер svg с поддержкой анимации.
В любом случае, готового решения (кроме webview'овский) тут наверное не будет.
Ответ написан
Комментировать
egormerkushev
@egormerkushev
iOS разработчик, автор PixelMixel
Странное вы решение выбрали. Если уж оригинальный контент на флэше, то и собирать приложение надо флэшевое. Сам по флэшу не спец, но вроде сюда.
Быстрая векторная графика — это нативная векторная графика средствами, например, Quartz 2D.
Ответ написан
spayeler
@spayeler
есть SwiffCore, но пока не доводилось его использовать, так что не могу сказать насколько он хорошо справляется
Ответ написан
Комментировать
@s0L
Можно использовать Cairo или AGG для рендера. Правда анимировать придется руками.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы