如何在 box2d 中使 body 可旋转但不可移动?
How can I make a body rotatable but not movable in box2d?
我需要做一个 body 不能四处移动,就像静态的 body,但我确实需要它可以旋转,有什么办法吗?
创建正常的动态物体和静态物体 - 将它们放在你想要放置可旋转物体的地方并使用 RevoluteJoint 连接它们 - 这是一种你可以想象为 'pin'
BodyDef dynamicBodyDef, staticBodyDef;
//define type, position of bodies...
Body dynamicBody = world.createBody(dynamicBodyDef);
Body staticBody= world.createBody(staticBodyDef);
RevoluteJointDef jointDef = new RevoluteJointDef();
jointDef .bodyA = dynamicBody;
jointDef .bodyB = staticBody;
world.createJoint(jointDef );
您可以定义物体是否可以碰撞,最大角度是多少等 - 看看 RevoluteJointDef class 定义
我需要做一个 body 不能四处移动,就像静态的 body,但我确实需要它可以旋转,有什么办法吗?
创建正常的动态物体和静态物体 - 将它们放在你想要放置可旋转物体的地方并使用 RevoluteJoint 连接它们 - 这是一种你可以想象为 'pin'
BodyDef dynamicBodyDef, staticBodyDef;
//define type, position of bodies...
Body dynamicBody = world.createBody(dynamicBodyDef);
Body staticBody= world.createBody(staticBodyDef);
RevoluteJointDef jointDef = new RevoluteJointDef();
jointDef .bodyA = dynamicBody;
jointDef .bodyB = staticBody;
world.createJoint(jointDef );
您可以定义物体是否可以碰撞,最大角度是多少等 - 看看 RevoluteJointDef class 定义