【发布时间】:2017-12-30 20:44:22
【问题描述】:
我正在计算鼠标指针角度与“车辆角度”之间的差异(以度为单位)。我取该距离的一半,将其存储为偏移量,然后将车辆移至该距离,经过几次计算,最终将我移动到所需的角度。但是,当我的鼠标位于 -185 时,我将它稍微向上移动到 185,即只有 10 度的距离,车辆会“绕远路”,从 -185 行驶到 0,然后回到 185。我尝试了很多方法让它能够通过-180到180的边界,但没有运气。
代码如下:
def get_angle(self, p1, p2):
return m.atan2(p2[1]-p1[1],p2[0]-p1[0])
def update(self):
mouse_pos = pygame.mouse.get_pos()
self.update_vehicle(self.pos, self.get_angle(self.pos, mouse_pos), r.black)
def update_vehicle(self, pos, dir, color):
self.dir += (dir - self.dir) / 50
self.dir 是我的车辆实现的角度,dir 是传递给它的角度,从鼠标到自身。
【问题讨论】:
-
您愿意分享说明所描述问题的代码片段吗?
-
@Ivan 你去。那是功能部分,我认为您不需要全部。