box2d/libgdx を使用して静的ボディと動的ボディを接続して振り子を作成しようとしています。ディスタンス ジョイント、ロープ ジョイント、リボリュート ジョイントなど、さまざまなタイプのジョイントを試しましたが、重力下では、最初にジョイントによって拘束された後、動的ボディは常に下に逃げてしまいます。無重力状態でのみ関節が正常に機能します。私は本当にばかげたことをしているに違いないことを知っています。
world.getBodies(p);
DistanceJointDef djd=new DistanceJointDef();
djd.bodyA=p.get(0);
djd.bodyB=p.get(1);
djd.localAnchorA.set(0,0);
djd.localAnchorB.set(0,0);
djd.collideConnected=true;
DistanceJoint pend=(DistanceJoint)world.createJoint(djd);
pend.setLength(50);
PS。連絡先リスナーをまだ実装する必要があります。これを行う方法がわかりません。衝突リスナを設置すると役に立ちますか?