根据点旋转纹理的 XNA
本文关键字:XNA 纹理 旋转 | 更新日期: 2023-09-27 18:36:36
我正在写一个小测试项目。我在原点有一个对象(带有位置和边界框),当发生某些事情时(例如在手机上单击/触摸鼠标),我希望从原点对象到点绘制一条线。
使用纹理,我意识到我将不得不在这里使用旋转,但不知道如何计算出纹理旋转多少。任何帮助将不胜感激。
到目前为止,我有:
矢量2 原点矢量2 接触点
仅此而已。
谢谢大家!
有一个简单的公式来计算基于 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;