使Box2d对象遵循预定路径

时间:2011-12-25 12:10:51

标签: cocos2d-iphone box2d box2d-iphone

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

由于

2 个答案:

答案 0 :(得分:6)

另一种选择:

  • 将鼠标接头连接到您的身体
  • 使用鼠标关节的setTarget方法移动身体

答案 1 :(得分:1)

您应该使用运动学体,但不能手动更改其位置,您必须更改其动态速度并正确应用碰撞。

我建议使用以下算法:

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

第2步 - 使矢量从身体所在的位置移动到下一个位置。

3 - 将其标准化。

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

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

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

我从未做过这样的事情,我认为可以这样做。 希望它有所帮助:)