所以我無法讓我的砂金面臨一個星球。我有球員和地球之間的角度,我也有球員目前的角度,現在我想要做的就是讓我的球員面對這個星球,但卻有一個漸進的變化。 (我這樣做是因爲我希望我的砂金能夠繞地球軌道運行)旋轉玩家面對行星
問題在於數學,我增加了玩家的旋轉角度來匹配玩家和行星之間的角度,但是因爲角度在0到360我的球員不會繞行,因爲球員的旋轉角度可能是2°但是對角球的角度是280,所以遊戲會讓玩家轉過身來,對於糟糕的解釋抱歉。
有誰知道如何讓我的玩家成功繞行我的星球?
這裏是我的代碼:
double rotation = Math.toDegrees(Math.atan2(currentPlanet.pos[1]-currentPlayer.pos[1], currentPlanet.pos[0]-currentPlayer.pos[0]));
if(rotation < 0)
{
rotation += 360;
}
if(currentPlayer.rotation < rotation)
{
currentPlayer.rotation += 0.15*delta;
}
if(currentPlayer.rotation > rotation)
{
currentPlayer.rotation -= 0.15*delta;
}
我將如何去實現這個? – 2012-07-14 19:30:23
這是我的玩家只能用一個方向旋轉,但它會繞着方向旋轉,有沒有理由不去左邊? – 2012-07-15 10:49:59
@Luke嘗試編輯的代碼。以前的版本可能會給出負面角度的錯誤結果。 – 2012-07-16 17:04:49