我正在XNA中进行2D(从上面开始)游戏,但这更像是一个数学问题。 我试图旋转精灵的方向与我在Xbox控制器上推杆的方向相同。
你看,如果我向一个方向拉我的棍子,我也希望我的角色面对同样的方式。 Xbox控制器为我提供类似于UnitCircle的坐标,X和Y值的值为+1到-1,0是标准位置。我需要Radians中的角度才能在XNA中使用它,请帮助我,我不知道如何从Unit Circle转换为Radians。
答案 0 :(得分:0)
巨大的免责声明:我正在处理古老而被遗忘的触发器,所以如果我说错了,请原谅我!
首先,想一想单位圈子信息告诉你什么。它看起来像这样:
橙色(x,y)坐标告诉您控制器的移动方向。
信息告诉您三角形的高度和三角形的底部。
您想知道的是三角形尖端与中心接触的角度。
另一种看待我们橙色三角形的方法是这样的。
你想知道绿色的角度,你知道相邻的一侧(这是你的x坐标)和相反的位置(这是你的y坐标)。有点SOHCAHTOA,你可以看到
tan(θ)= y / x
我们可以用
来解决θ=(逆tan)(y / x)
看起来C#在tan和atan使用弧度。
我建议你花点时间在这里:http://www.mathsisfun.com/geometry/unit-circle.html来帮助你了解一些这些概念。