我试图通过编写一个小的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