我在這裏看到很多關於這個謎題的答案,但是每次我嘗試並實現答案時,它們似乎都不起作用。我想回答一些答案,但不能。也許這是因爲我的'聲譽'級別?根據角度和速度更新座標
無論如何,這是一個簡單的座標問題的遊戲。對大多數人來說很簡單,但對我來說不是。 (吸數學..硬核)
我已經在屏幕中間有一艘飛船。它不會離開旋轉(user.fAngle)。它確實有速度(user.dVelocity),純粹用於計算它在世界上的位置。
現在我的船正在以1的速度移動。這意味着無論它「走向」,它都以那個速度移動(再次,純粹是爲了地圖座標的目的)。不會減慢或加速,但最終會。速度最終會成爲一個變化的變量。
這是我現在有..
double radians = (Math.PI/180) * (user.fAngle);
worldX = (int)(worldX + user.dVelocity * Math.cos(radians));
worldY = (int)(worldY + user.dVelocity * Math.sin(radians));
user.fangle當然= 0-359
worldX和worldY從0開始,當你開始遊戲。我正在嘗試根據船舶的角度和硬編碼速度修改worldX和worldY的每一幀。
大多數情況下,這是有效的。但奇怪的是,在某些時候,座標會凍結。或者他們會在0時停止,而不是進入否定狀態。再次,這隻發生在某些時間和某些角度。
我看到的另一個問題是,當數字確實發生變化時,它們總是以一致的速度變化。換句話說,假設north是0.如果我以5的角度移動,worldY變量應該改變很多,但是worldX應該稍微改變一點。這沒有發生。
在我的調試中,我確定user.fAngle確實在0-359的範圍內。我不知道還有什麼要檢查。
感謝您的閱讀,我感謝您的幫助。
如果你能提供導致問題的「某些角度」,這將有所幫助。 – WaelJ