我有一个由x,y定义的点和由航向,速度定义的矢量。我试图沿着这个向量移动点x,y,距离为“速度”。以下是我目前使用的代码:
self.x += self.speed * cos(self.heading);
self.y += self.speed * sin(self.heading);
标题可以是整圆的任何角度 - 0到2π(0-360度)。问题是上面的代码:
航向,速度,X和Y都是双打,并且用户触摸下角的方向盘报告航向。我知道标题是正确的,因为化身旋转到正确的方向,这只是我遇到问题的实际动作。
感谢您的帮助 - 克里斯
答案 0 :(得分:2)
直线上升将是sin(90)
,而不是sin(45)
。所以你在那里遇到了一些问题。
(sin(90) == 1
只会继续将你的速度加到y而不是x,因为cos(90) == 0
)。