所以,我不是最懂数学的人,我希望能得到一些急需的反馈。对于初学者,我的目标只是让图像追逐我的鼠标。发生了一些我没想到会收到反馈的事情。
1)追逐非常僵硬,并且以非常...“角度”的方式跟随鼠标,仅在屏幕上似乎设置的点(中间x轴,中间y轴和对角线)改变方向。
2)我希望速度保持不变,但图像越靠近鼠标移动得越快。
3)当图像到达鼠标时,它“弹弓”经过鼠标,造成模糊的疯狂,而不是到达鼠标位置并停止。
这些是我主要关心的问题,但如果您看到任何我可能误解的内容,请告诉我。我很想了解整个向量/三角学(很快就会进入物理学)的东西。
def follow (self):
mouse_pos = pygame.mouse.get_pos()
diff = (self.xPos-mouse_pos[0], self.yPos-mouse_pos[1])
vector = math.sqrt(diff[0]**2 + diff[1]**2)
distance = (self.xPos/vector, self.yPos/vector)
if (self.xPos, self.yPos) == mouse_pos:
return
if mouse_pos[0] >= self.xPos:
self.xPos += distance[0]
else:
self.xPos -= distance[0]
if mouse_pos[1] >= self.yPos:
self.yPos += distance[1]
else:
self.yPos -= distance[1]
(整个程序可以在这里看到http://ideone.com/6OxWLi)
提前感谢您的帮助!