Cocos2d以恒定速度沿着路径移动物体



我正在寻找一种方法,沿着匀速的路径移动一个对象,就像在赛道上赛车一样。我尝试了ccActionBezier和ccActionCardinalSpline,但我不能保持速度。

随时间变化的CCActions具有持续时间,因为您必须将持续时间缩放到您想要运行的距离。另一个选择是使用-(void)update:(CCTime)增量方法滚动您自己的。

如果你知道起点和终点,你可以从这个方法得到恒定的速度

- (CGFloat)calculateVelocity:(CGPoint)start end:(CGPoint)end speed:(CGFloat)speed
{
    return ccpDistance(start, end) / speed;
}

最新更新