如何在box2d中进行固定距离关节(无旋转)?

时间:2015-10-07 14:03:19

标签: box2d

我想让objectB的运动与objectA' s完全相同。所以我使用距离关节连接objectB和objectA。但是当objectA飞行时,关节将旋转,然后objectB将稍后移动。如何让他们同时以相同的方式移动?

1 个答案:

答案 0 :(得分:0)

如果你希望他们采取完全相同的行动,最好的想法不是为一个身体创造关节,而是创造多个夹具

    Body body;

    ...

    FixtureDef fixtureDef1 = new FixtureDef();
    FixtureDef fixtureDef2 = new FixtureDef();


    Fixture fixture1 = body.createFixture(fixtureDef1);
    Fixture fixture2 = body.createFixture(fixtureDef2);

    fixture1.setUserDate("FIRST");
    fixture1.setUserDate("SECOND");

然后,您可以使用其UserData对象处理所有冲突等。

如果有任何原因你无法在开始时定义它,你可以尝试创建距离棱柱关节,但我真的不确定它是否会起作用 - 当我在身体上使用例如 setTransform 时,很多次我遇到了关节表现得非常奇怪的情况。

要详细了解关节类型visit this page,请查看official reference of Box2d