我試圖通過編寫一個小的2D遊戲學習XNA,這是一個自上而下的角度和我試着有雙重運動,以及使用左右和上下移動鍵的軸移動,還有就在鼠標光標看,讓玩家可以運行,旨在在同一時間。矢量數學,尋找角度
我對球員位置(m_PlayerPos)一個向量,一個向量的鼠標位置(m_MousePos)和IM試圖獲得對鼠標位置的正確角度。
進出口使用式方法:
public static float Angle(Vector2 from, Vector2 to) { return (float)Math.Atan2(from.X - to.X, from.Y - to.Y); }
這工作,但由於某種原因該方法只適用中途,沿x軸。當鼠標位於玩家右側的正確左側時,玩家將看到鼠標右側。
但是,如果我移動到播放器的頂端,它會向下看,如果鼠標在播放器下方,播放器會擡起頭來。所以我需要反轉Y軸,但我不知道如何。
先感謝您的任何反饋。
你應該注意到Math.Atan2期望y然後x,所以你的參數被交換 – freespace 2010-12-13 11:43:30