Box2D - 力量与扭矩

时间:2016-02-26 23:22:32

标签: javascript box2d physics game-physics

我对Box2D中的力量如何运作感到有些困惑。我试图使用Kripken的Box2D.js来实现一个简单的代理,具有一些基本的转向行为。我尝试应用像Daniel Shiffman在The Nature of Code中描述的转向力:steering_force = desired_velocity - actual_velocity。我在计算这个力量时没有遇到任何麻烦,但是当我应用它时我会感到困惑(我将它应用到身体前方的一个点)。身体朝着我期待的方向移动,但没有旋转。我应该单独施加扭矩吗?

谢谢!我猜的不是一个问题

1 个答案:

答案 0 :(得分:-1)

是的,例如,如果你想向左或向右移动,你应该创建两个力,如下面的" l"和" r"和一个单独的转向力量。 这里5表示力的大小。 下面的代码将使用键盘左右箭头键

PVector l = new PVector (-5, 0);
PVector r = new PVector (5, 0);
void keyPressed() {
  if (key==CODED) {
    if (keyCode==LEFT) {
      mover.applyForce(l);
      mover.update();
    }
    if (keyCode==RIGHT) {
      mover.applyForce(r);
      mover.update();
    }
  }
}