經過一個良好的夜間睡眠,我剛剛醒來的解決方案記住! (角度)顯然確實將角度設置爲你想要的角度(以度爲單位) - 但是你必須只做一次而不是在你的更新循環中,否則相機就開始旋轉。這是顯而易見的,但我只是沒有得到它。
另一個問題是Box2D的身體有「沒完沒了」度(我轉換一切度* MathUtils.radiansToDegrees),所以我不得不來約束這些爲0至359:
playerAngle = player.body.getAngle()*MathUtils.radiansToDegrees;
while(playerAngle<=0){
playerAngle += 360;
}
while(playerAngle>360){
playerAngle -= 360;
}
相機的度去從-180到180,所以你也必須將其換算成0到359:
camAngle = -getCameraCurrentXYAngle(camera) + 180;
功能「getCameraCurrentXYAngle(CAM)如下:
public float getCameraCurrentXYAngle(OrthographicCamera cam)
{
return (float)Math.atan2(cam.up.x, cam.up.y)*MathUtils.radiansToDegrees;
}
而現在使用它來更新您的凸輪您的播放器的旋轉:
camera.rotate((camAngle-playerAngle)+180);
我希望這有助於誰upvoted我的問題的人;)
歡呼和有一個富有成效的一天! Jonas