【发布时间】:2013-12-02 03:55:05
【问题描述】:
我查看了 ChaseAndEvade XNA 代码,但由于它是针对大学项目的,因此我必须使用一些提供的变量,例如 xPos 和 yPos,而不是设置变量位置。
我知道我想得到两个向量之间的角度,然后朝那个方向前进。据我了解,这行代码可以做到这一点。
position += direction * speed
但是,我如何将其翻译为使用 xPos 和 yPos?
【问题讨论】:
我查看了 ChaseAndEvade XNA 代码,但由于它是针对大学项目的,因此我必须使用一些提供的变量,例如 xPos 和 yPos,而不是设置变量位置。
我知道我想得到两个向量之间的角度,然后朝那个方向前进。据我了解,这行代码可以做到这一点。
position += direction * speed
但是,我如何将其翻译为使用 xPos 和 yPos?
【问题讨论】:
一旦确定了相对于屏幕坐标的移动角度,请使用:
xPos += Math.Cos(angle) * speed;
yPos += Math.Sin(angle) * speed;
请记住,角度必须以弧度为单位。乘以 Math.PI/180 将度数转换为弧度。
【讨论】:
MathHelper.ToRadians方法。
我假设如果为您提供了两个向量,您可以从中创建方向(如上所述) - 然后您可以简单地将这些向量的 x 和 y 分量分别添加到 xPos 和 yPos!
【讨论】: