我正在寻找一种在两个身体之间建立固定关节的方法。我尝试了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);
答案 0 :(得分:0)
不幸的是,没有联合保证在两个身体之间提供100%固定的关系。如果焊接接头可以在该端口使用,或者您建议您也可以尝试使用棱柱形或旋转接头,则可以尝试使用非常高的力/扭矩值的电机,并将极限设置为相同的值。
答案 1 :(得分: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);