Javascript 一帧中移动的线速度与距离
我试图通过计算在一帧内移动一个运动体所需的相应速度,将它移动一个特定的距离。下面是一段伪代码,描述了我正在做的事情:Javascript 一帧中移动的线速度与距离,javascript,box2d,Javascript,Box2d,我试图通过计算在一帧内移动一个运动体所需的相应速度,将它移动一个特定的距离。下面是一段伪代码,描述了我正在做的事情: var v = 0; function update(){ // do update world.Step(1/60, 10, 10); // do rendering stuff // set linear velocity to v objectBody.SetLinearVelocity(new b2Vec2(0, v));
var v = 0;
function update(){
// do update
world.Step(1/60, 10, 10);
// do rendering stuff
// set linear velocity to v
objectBody.SetLinearVelocity(new b2Vec2(0, v));
// reset v to 0
v = 0;
// wait 16.6ms
update();
}
function moveBy(n){
v = n * 60; // set velocity to be n units/sec
}
调用moveBy(300)
实际上不会将其移动300个单位。它确实向下移动,但距离不是300个单位
为什么会这样?可能的解决方案是什么?显然,为了防止隧道掘进,一个运动学体在一个台阶中可以移动的距离有一个最大限度。为了解决这个问题,我必须缩小所有的规模