2015-03-31 60 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