从上图可以看出,如果(5,3)是兔子的位置,并且
(2,4)将是鼠标的当前位置,
然后我们可以通过使用atan2三角函数找到旋转角(z)
对两点之间的距离差起作用。
知道旋转角度后,旋转兔子很容易。
如果这部分从你的头顶飞过来,那就不用担心。 你可以继续
因为生活中没有遗憾的地方。
我们必须将上述概念应用于游戏,为此我们必须使用
pygame surface.rotate(degrees)函数 。
(注意:-‘z’值以弧度表示)
另外,“ atan2 ”功能来自python数学库。 因此,在代码中导入数学库。
>>> 导入数学
现在,我们必须从以下代码更新代码(第6节):
>>> screen.blit(player,playerpos)
至
#6.1 —设置玩家位置和旋转
>>> position = pygame.mouse.get_pos()
>>> angle = math.atan2(position [1]-(playerpos [1] +32),position [0]-(playerpos [0] +26))
>>> playerrot = pygame.transform.rotate(玩家360度* 57.29)
>>> playerpos1 =(playerpos [0] — playerrot.get_rect()。width / 2,playerpos [1] — playerrot.get_rect()。height / 2)
>>> screen.blit(playerrot,playerpos1)
我们将逐步进行操作,首先获取鼠标和播放器的位置。
然后我们将这些值拟合到atan2函数中
之后,我们将从atan2函数接收的角度从弧度转换为度(将弧度乘以约57.29)。
显然,如果旋转兔子,兔子的位置将会改变。
现在,我们必须计算新的兔子位置并在屏幕上显示该兔子。
保存上面的代码,然后运行该程序。
没有变化? 等待! 移动鼠标以查看其酷感!
(不客气😉)
更多零件即将到来…