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' 效果。
我想以可变速度沿着路径移动精灵。理想情况下,我想以(不同的)贝塞尔曲线速度沿着贝塞尔曲线路径移动,这意味着它沿着路径缓和并且不会以恒定速度移动。有办法实现吗?
类似于:
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' 效果。