根据点旋转纹理的 XNA

本文关键字:XNA 纹理 旋转 | 更新日期: 2023-09-27 18:36:36

我正在写一个小测试项目。我在原点有一个对象(带有位置和边界框),当发生某些事情时(例如在手机上单击/触摸鼠标),我希望从原点对象到点绘制一条线。

使用纹理,我

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

到目前为止,我有:

矢量2 原点矢量2 接触点

仅此而已。

谢谢大家!

根据点旋转纹理的 XNA

有一个简单的公式来计算基于 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;