求助,怎么实现匀加速运动

查了以前的帖子,没有明确的答案,api里的easeaction子类里也没找到匀加速直线运动的对应曲线。so,求问匀加速怎么写?难道要每秒调一个moveby?

这是数学问题,update里更新位置,速度根据加速度一直在变

参考官方的例子,第一个游戏

萌新:2:

update(){this.node.x +=this.speed;this.node.y += this.speed; } speed是你定义的速度

this.speed += this.addSpeed
addSpeed是你定义的加速度

我也想过这个,但是一帧能都动的像素应该很小吧

但是这个帧率是可以设置的么?

跟帧率无关的,update里面有一个dt,这就是你的时间,记得乘上这个就好了。
最好你还是试试用 action.easing(cc.easeIn(2.0)); 2.0 应该就是匀加速了。 不过速度是从0开始的。
最好的办法不是计算每秒的速度, 还是直接算出路程和时间关系的公式, 匀加速,这个公式就是一个一元二次方程。 好处就不说了。
你有兴趣,去找一些,tween这些源码来看看。找到的话,看看他们代码,不难,很简单的。然后再自己写。

如果是扩充action的话,在update里面加上这个dt=Math.pow(dt,rate),rate越大变化越剧烈,只是这个速度是从0开始的。

1赞