Я хотел бы перемещать спрайт по пути с переменной скоростью. В идеале, я хочу двигаться по безье-дорожке с (другой) безье-скоростью, что означает, что она облегчает путь и НЕ движется с постоянной скоростью. Есть ли способ сделать это?
Что-то вроде:
ccBezierConfig path; // With it's points
ccBezierConfig speed; // With it's points
BezierBy::create(duration, path, speed);
Очевидно, это псевдокод, но, надеюсь, это имеет смысл. Я хотел бы выполнить движущуюся анимацию на более быстрой скорости.
Оказывается, для этого есть встроенная функция. (Как я и думал — я просто не смог его найти. -_-)
Для любого, кто может столкнуться с этим в будущем (или, вы знаете, я через 6 месяцев), я использовал JumpBy / JumpTo.
JumpBy::create(float duration, const cocos2d::Vec2 &position, float height, int jumps)
duration
количество времени, необходимое для завершения пути.
position
является конечной точкой пути.
height
является вершиной пути, а jump
обычно должен быть установлен на 1 для эффекта, подобного моему, но увеличение его даст вам «подпрыгивающий» эффект.
Других решений пока нет …