Box2dWeb Revolute Joint坠落在地面上

时间:2012-05-17 08:07:17

标签: box2d collision-detection html5-canvas

我一直在试图让我的头围绕着Box2dWeb,一旦你掌握了基础知识,它似乎很快就变得非常有益,这很棒。我可以模拟愤怒的小鸟在页面和结构中投掷物体的效果。我一直在从Seth Ladd的伟大box2d教程中获取灵感,并尝试对它们进行调整,以便我可以构建一个关卡编辑器,在那里我可以开始创建迷你侧滚动游戏。但是......我已经陷入了第一道障碍......

我的Revolute Joint在调试中可见(两个物体之间的浅蓝色线)。然而,当它落到地板上时,当身体自身碰撞并停在地面上时,关节本身似乎继续掉落(离开画布)。它好像根本就没有相互关联。

有人可以解释我到底做错了什么吗?

您可以在以下位置找到精简版:

www.g-mccann.co.uk/box2d

非常感谢您的反馈,我正在学习如此重要。

非常感谢, 加里

编辑:23/05/2012

为了更新,我现在已经对问题进行了排序,似乎没有任何固定装置连接到任何机构。 (谢谢iforce2d)我已经提出了你的评论,但似乎无法接受我接受答案的正常方式。

3 个答案:

答案 0 :(得分:2)

使用CreateJoint函数可以解决您的问题。

我已经研究了你的脚本,添加我通过在你的init函数中添加这一行来找到解决方案。

box.addRevoluteJoint("wheel3","chassis", {motorSpeed: -2, maxMotorTorque: 10});

我希望这可以解决你的问题。

答案 1 :(得分:1)

我认为你的关节是没有固定装置的连接体。

答案 2 :(得分:0)

为了制作旋转关节,你必须添加两个体,一个是静态的,另一个是动态的。动态体通过旋转接头连接到静止体上,并在启用enableMotor后通过应用motorSpeed和maxTorque使其旋转或移动。对于工作示例,请参阅此游戏,该游戏使用大量旋转关节来制作它。 http://pixsansar.com/jumping-and-puzzle-ball-level1