1

我正在寻找一种在两个身体之间建立固定关节的方法。我试过 b2DistanceJointDef 但它仍然会旋转。在这里使用约束?如果有怎么办?

或者更好地使用 b2PrismaticJointDef 并限制运动?

我的引擎是 cocos2d-js 3.0a2

代码:

        var jointDef = new b2DistanceJointDef();
        jointDef.length = 1.0;
        jointDef.frequency = 0.0;
        jointDef.dampingRatio = 0.0;
        jointDef.bodyA = body;
        jointDef.bodyB = lastBody;
        var joint = this.world.CreateJoint(jointDef);
4

2 回答 2

0

不幸的是,没有任何关节可以保证在两个物体之间提供 100% 的固定关系。如果该端口可用,您可以尝试焊接接头,或者按照您的建议,您也可以尝试棱柱形或旋转接头,使电机具有非常高的力/扭矩值,并将限制设置为相同的值。

于 2014-05-01T22:43:40.933 回答
0

我使用 b2WeldJoint 解决了它:

            var jointDef = new b2WeldJointDef();
            jointDef.referenceAngle = 0.0;
            jointDef.collideConnected = false;
            jointDef.bodyA = body;
            jointDef.bodyB = lastBody;
            jointDef.localAnchorA = body.tileOffset;
            jointDef.localAnchorB = lastBody.tileOffset;
            var joint = this.world.CreateJoint(jointDef);
于 2014-05-02T08:20:04.887 回答