XNA根据点旋转纹理

时间:2012-06-09 15:19:14

标签: c# math vector xna rotation

我正在写一个小测试项目。我在一个原点有一个物体(有一个位置和边界框),当有事情发生时(比如鼠标点击/触摸手机),我想要从原点物体到该点绘制一条线。

使用纹理,我意识到我将不得不在这里使用旋转,但不知道如何计算旋转纹理的数量。任何帮助将不胜感激。

到目前为止,我有:

Vector2 Origin Vector2 TouchPoint

就是这样。

全部谢谢!

1 个答案:

答案 0 :(得分:0)

Theres是一个基于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;