libGdx如何返回相机旋转

时间:2015-03-31 22:53:38

标签: java libgdx

camera.rotate(1.5f);

我可以用这样的度数旋转相机,但是如何返回当前相机的旋转,例如我知道它需要多少度,所以我可以将它恢复到正常旋转?

1 个答案:

答案 0 :(得分:4)

我已经解决了同样的问题,因为libgdx相机原本没有返回旋转的功能,所以通过创建一个以度为单位返回相机旋转的函数来解决它。

public float getCameraRotation()
{                       
     float camAngle = -(float)Math.atan2(camera.up.x, camera.up.y)*MathUtils.radiansToDegrees + 180;         
     return camAngle;
}

它的工作原理是让摄像机角度变得容光焕发:

-(float)Math.atan2(camera.up.x, camera.up.y)

然后将其转换为辐射:

*MathUtils.radiansToDegrees 

最后,因为角度范围是-180到180,所以将其转换为0-360

+ 180