如何在旋转关节Libgdx中设置来回运动?

时间:2016-09-05 14:58:09

标签: java android libgdx box2d revolute-joints

我试图通过旋转关节来连接身体的来回运动。我试图将参考设置为零,当模拟以顺时针方向开始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;

1 个答案:

答案 0 :(得分:1)

你可以通过向两个方向提供电机速度来来回运动 让我们说你首先想要移动-45度,你可以通过

来做到这一点
revolutejoint.setMotorSpeed=-12f;

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

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

总是使用弧度作为角度,我还没有表现出来。如果有人比我更清楚,我很高兴知道。