Cocos2d 以贝塞尔速度移动

Coco2d MoveBy at Bezier Speed

我想以可变速度沿着路径移动精灵。理想情况下,我想以(不同的)贝塞尔曲线速度沿着贝塞尔曲线路径移动,这意味着它沿着路径缓和并且不会以恒定速度移动。有办法实现吗?

类似于:

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 以获得像我这样的效果,但增加它会给你一个 'bouncing' 效果。