libGdx 如何返回相机旋转

Cod*_*per 1 java libgdx

camera.rotate(1.5f);
Run Code Online (Sandbox Code Playgroud)

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

Ber*_*rnd 5

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

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

它的工作原理是将相机角度设为 radiant:

-(float)Math.atan2(camera.up.x, camera.up.y)
Run Code Online (Sandbox Code Playgroud)

然后将其转换为度数:

*MathUtils.radiansToDegrees 
Run Code Online (Sandbox Code Playgroud)

最后因为角度的范围是 -180 到 180 将它转换为 0-360

+ 180
Run Code Online (Sandbox Code Playgroud)