Анимация формы с CoreAnimation

SpiderMonkey Mozilla довольно легок и хорошо зарегистрирован. Это - API C, но это просто для обертывания его в C++. Это может быть скомпилировано, чтобы быть ориентированным на многопотоковое исполнение, который полезен для игр, так как Вы, вероятно, хотели бы иметь свою основную логику в одном потоке и логику пользовательского интерфейса во втором потоке.

V8 Google мог бы быть хорошим выбором, так как Вы используете C++, но у меня еще нет опыта с ним. Согласно документация (благодаря Daniel James ), V8 не ориентирован на многопотоковое исполнение, хотя это может измениться в будущем.

существует также SquirrelFish WebKit, но я не мог найти автономную версию этого, когда я смотрел ранее.

15
задан Marc W 19 November 2009 в 23:47
поделиться

2 ответа

Если вы пишете это для iPhone OS 3.x (или Snow Leopard), новый класс CAShapeLayer должен позволить вам довольно легко делать такую ​​анимацию. Если у вас есть путь, который поддерживает такое же количество контрольных точек (как в вашем случае), вы можете установить этот путь для CAShapeLayer, а затем анимировать свойство пути от этого начального значения до конечного пути. Core Animation выполнит соответствующую интерполяцию контрольных точек на пути, чтобы оживить его между этими двумя состояниями (более того, если вы используете CAKeyframeAnimation).

Обратите внимание, что это слой, поэтому вам нужно будет добавить его как подслой вашего UIView. Кроме того, я не верю, что свойство path неявно анимирует, поэтому вам может потребоваться вручную создать CABasicAnimation, чтобы анимировать изменение формы от пути 1 к пути 2.

18
ответ дан 1 December 2019 в 04:09
поделиться

Вы не сможете анимировать свою фигуру с помощью CA. Вы можете анимировать только свойства слоя в CA, но не настраиваемые свойства.

CA может быть быстрым, потому что ему не нужно обращаться к вашему коду для выполнения анимации, если вы думаете о том, как это реализовано, это в основном просто поток, выполняющий операции примитивов GL с кадрами и содержимым CALayer.

CA-анимации - это наборы инструкций для CA для запуска в фоновом потоке, запуска и забывания (плюс обратный вызов при завершении анимации), а не обратные вызовы к вашему коду.

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

-1
ответ дан 1 December 2019 в 04:09
поделиться
Другие вопросы по тегам:

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