2016-09-05 3 views
0

나는 회전 조인트를 통해 연결된 몸의 움직임을 앞뒤로주고있다. 나는 시뮬레이션을 시계 방향으로 45도 시작한 다음 반 시계 방향으로 다시 시작하고 참조에서 반 시계 방향으로 45도 회전 할 때 0으로 설정하려고했습니다. 나는 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 내가이회전 조인트 Libgdx에서 앞뒤로 움직이는 방법?

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

당신의 당신이 처음으로이 작업을 수행 할 수 있습니다 -45degree에서 이동한다고 가정하자 두 방향으로 앞뒤로 이동 모터 속도를 제공함으로써 얻을 수있는 시도 할

revolutejoint.setMotorSpeed=-12f; 

먼저 한계를 설정하고 위의 예를 사용하면 조인트의 현재 각도를 물을 수 있으며 모터 속도를 반대로 되돌릴 수 있습니다.

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

은 항상 표시되지 않은 각도의 라디안을 사용합니다. 누군가가 이것보다 잘 안다면 나는 기쁘다.

관련 문제