Coco2d MoveBy на скорости Безье

Я хотел бы перемещать спрайт по пути с переменной скоростью. В идеале, я хочу двигаться по безье-дорожке с (другой) безье-скоростью, что означает, что она облегчает путь и НЕ движется с постоянной скоростью. Есть ли способ сделать это?

Что-то вроде:

ccBezierConfig path; // With it's points
ccBezierConfig speed; // With it's points
BezierBy::create(duration, path, speed);

Очевидно, это псевдокод, но, надеюсь, это имеет смысл. Я хотел бы выполнить движущуюся анимацию на более быстрой скорости.

1

Решение

Оказывается, для этого есть встроенная функция. (Как я и думал — я просто не смог его найти. -_-)

Для любого, кто может столкнуться с этим в будущем (или, вы знаете, я через 6 месяцев), я использовал JumpBy / JumpTo.

JumpBy::create(float duration, const cocos2d::Vec2 &position, float height, int jumps)

duration количество времени, необходимое для завершения пути.
position является конечной точкой пути.
height является вершиной пути, а jump обычно должен быть установлен на 1 для эффекта, подобного моему, но увеличение его даст вам «подпрыгивающий» эффект.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]