如何在旋转关节Libgdx中设置前后运动?

How to set back and forth motion in revolute joint Libgdx?

我正在尝试给出通过旋转关节连接的物体的来回运动。我试图将参考设置为零,当模拟开始时顺时针 45 度然后逆时针回到参考并从参考逆时针 45 度。我要 Click the imgage,in which 0 is reference the 45 degre to 1,45 degree back i.e 2,then 45deg clockwise and then back to reference 我试过这个

RevoluteJointDef revoluteJointDef = new RevoluteJointDef();
        revoluteJointDef.initialize(ballBody,rectBody,new Vector2(25,30));
        revoluteJointDef.lowerAngle=0.785f;
        revoluteJointDef.upperAngle=0.785f;
        revoluteJointDef.localAnchorA.set(25,30);
        revoluteJointDef.enableMotor=true;
        revoluteJointDef.enableLimit=true;
        revoluteJointDef.maxMotorTorque=1000f;
        revoluteJointDef.motorSpeed=12.6f;
        revoluteJointDef.referenceAngle=0f;

你可以通过在两个方向上给电机速度来回运动 假设您首先想要移动 -45 度,您可以通过

revolutejoint.setMotorSpeed=-12f;

记得先设置限制并使用上面的例子,然后你可以询问当前关节的角度,并根据它可以反转电机速度,如

if(revoluteJoint.getAngle<=45)
revolutejoint.setMotorSpeed=12f;

始终使用弧度作为角度,我没有显示。如果有人比这更了解,我很高兴知道。