Javascript 在Box2D中,如何将尸体粘在地面上?

Javascript 在Box2D中,如何将尸体粘在地面上?,javascript,box2d,Javascript,Box2d,我想为e.x创建一个类似于b2CircleShape或b2PolygonShape的实体,并使用关节将其连接/粘贴到“地面”(屏幕?/world?),这样当我用鼠标拖动并释放它时,它会借助关节被拖回其原始位置 我是否只创建两个实体,一个固定在适当的位置,另一个可以移动并在它们之间创建关节 还是将身体连接到某种“地面” 到目前为止,我得到了这个: 我在使用Box2DWeb:也许你在寻找“重力” 我使用了java端口,但: 创建世界实例时,第二个参数是表示重力方向和力的矢量2D。这种重力每一步都作用

我想为e.x创建一个类似于
b2CircleShape
b2PolygonShape
的实体,并使用关节将其连接/粘贴到“地面”(屏幕?/world?),这样当我用鼠标拖动并释放它时,它会借助关节被拖回其原始位置

我是否只创建两个实体,一个固定在适当的位置,另一个可以移动并在它们之间创建关节

还是将身体连接到某种“地面”

到目前为止,我得到了这个:

我在使用Box2DWeb:

也许你在寻找“重力”

我使用了java端口,但:

创建世界实例时,第二个参数是表示重力方向和力的矢量2D。这种重力每一步都作用于所有非静止物体

如果您希望“自定义重力”与身体不同,则创建一个矢量2D,表示身体重力的方向和力,然后每个循环只将其应用于身体

customGravity = new b2Vec2(x,y)
body.applyForce(customGravity)
[...]
world.step()
也许你在寻找“重力”

我使用了java端口,但:

创建世界实例时,第二个参数是表示重力方向和力的矢量2D。这种重力每一步都作用于所有非静止物体

如果您希望“自定义重力”与身体不同,则创建一个矢量2D,表示身体重力的方向和力,然后每个循环只将其应用于身体

customGravity = new b2Vec2(x,y)
body.applyForce(customGravity)
[...]
world.step()

您可以使用鼠标关节或运动关节来执行此操作。电机接头是Box2D的一个相对较新的附件,因此很可能还不在Box2DWeb中


要使用鼠标关节,只需按照“真实”鼠标关节(即玩家实际控制的关节)的正常操作,但目标点不移动。您需要将“粘着地面”鼠标关节的最大力设置为比用于拖动身体的力更小的值,否则您将无法移动它:)

您可以使用鼠标关节或电机关节来执行此操作。电机接头是Box2D的一个相对较新的附件,因此很可能还不在Box2DWeb中

要使用鼠标关节,只需按照“真实”鼠标关节(即玩家实际控制的关节)的正常操作,但目标点不移动。您需要将“粘住地面”鼠标关节的最大力设置为比用于拖动身体的力更小的值,否则您将无法移动它:)