我正在写一个小测试项目。我在原点有一个对象(带有位置和边界框),当发生某些事情时(比如在手机上单击鼠标/触摸),我希望从原点对象到该点绘制一条线。
使用纹理,我意识到我将不得不在这里使用旋转,但不知道如何计算出将纹理旋转多少。任何帮助,将不胜感激。
到目前为止,我有:
Vector2 原点 Vector2 接触点
就是这样。
谢谢大家!
有一个简单的公式可以根据 X 和 Y 坐标计算角度:
float angle = Math.Atan2(TouchPoint.Y - Origin.Y, TouchPoint.X - Origin.X);
SpriteBatch.Draw()
您可以在接受旋转角度的重载中使用此角度。
请参阅此参考:http: //msdn.microsoft.com/en-us/library/ff433992.aspx
您可能想要在度数和弧度之间进行转换:
float rad = deg * Math.PI/180;
float deg = rad * 180/Math.PI;