我有一个由 x,y 定义的点和一个由航向、速度定义的向量。我正在尝试以“速度”的距离沿该向量移动点 x,y。以下是我目前正在使用的代码:
self.x += self.speed * cos(self.heading);
self.y += self.speed * sin(self.heading);
航向可以是整圈内的任何角度 - 0 到 2π(0-360 度)。问题是上面的代码:
- 仅在角度为 0->270 时沿 x 或 y 轴移动
- 例如,当头像面向右上角(相对 45 度)时,它会直线向上移动。
- 例如,当头像面向右上角(相对 45 度)时,它会直线向上移动。
- 角度为 270->360 时完全不动
航向、速度、X 和 Y 都是双倍的,并且航向是通过用户触摸下角的方向键来报告的。我知道航向是正确的,因为头像旋转到正确的方向,这只是我遇到问题的实际运动。
感谢您的帮助
- 克里斯