javascript - 一帧内移动的线速度和距离

标签 javascript box2d

我正在尝试通过计算在一帧中将它一直移动所需的相应速度来将 KinematicBody 移动特定距离。下面是一段描述我在做什么的伪代码:

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 个单位。

为什么会这样,可能的解决方案是什么?

最佳答案

显然,KinematicBody 在一步中可以移动多远以防止隧道效应存在最大限制。为了解决这个问题,我不得不缩小一切。

关于javascript - 一帧内移动的线速度和距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40252700/

相关文章:

javascript - HTML/Javascript - 360 度图片的路径更改(以显示不同的变化)

javascript - AngularJS 中共享数据服务初始化失败

javascript - 提交按钮不更改问题

javascript - Chrome 在打印时通常不显示内联 SVG 图像

c# - Unity 2D 碰撞检测

java - box2d 上自上而下图形的击退效果

javascript - 如何在 html5 桌面通知中添加简单链接

java - AndEngine Sprite 在地面上旋转

android - libgdx box2d 插值效果不佳

java - 如何在加工中产生正弦波?