2015-03-31 56 views
0
camera.rotate(1.5f); 

我可以度旋转的摄像头,像这样,但我怎么能返回当前相机的旋转,比如我知道这需要多少度,所以我可以回去恢复正常旋转?libGdx如何返回相机旋转

回答

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