4

我正在制作一个游戏,其中某个对象(建模为 box2d 主体)必须遵循固定路径。有没有一种方法可以指定路径坐标并使每个 dt 的对象在其上前进?

谢谢

4

2 回答 2

7

另外的选择:

  • 将鼠标关节连接到您的身体
  • 使用鼠标关节的 setTarget 方法移动 body
于 2011-12-26T01:38:51.683 回答
1

您应该使用 Kinematic body,但不能手动更改其位置,您必须更改其速度才能正确应用动力学和碰撞。

我建议以下算法:

1st - 计算身体在下一个 dt 上应该在轨道上的位置。

2nd - 制作一个从身体所在位置到下一个位置的向量。

第三 - 规范化它。

4rd - 计算你需要多少速度才能使身体在下一个循环中处于该位置,并将该速度乘以向量。

5th - 将此向量应用于身体的线速度。

注意:确保运动体的阻力为零,以便计算第 4 步更容易。

我从来没有做过这样的事情,我认为可以这样做。希望能帮助到你 :)

于 2011-12-26T00:08:26.023 回答