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