1

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

就像是:

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

显然这是伪代码,但希望这是有道理的。我想以贝塞尔速度执行移动动画。

4

1 回答 1

1

事实证明,有一个内置函数。(就像我想的那样——我只是找不到它。-_-)

对于将来可能偶然发现这一点的任何人(或者,你知道,我在 6 个月内),我使用了 JumpBy/JumpTo。

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

是完成路径所需的duration时间。是路径的position终点。height是路径的顶点,通常jump应该设置为 1 以获得像我这样的效果,但增加它会给你一个“弹跳”效果。

于 2016-03-01T00:34:51.340 回答