2013-10-20 62 views
0

我正在用pygame制作一个游戏,我希望玩家可以在十字线上看到这张脸,这是我的代码,我让它在闲置时打印出角度,我注意到无论如何,所有错误和玩家都没有旋转的角度。我见过一些这样的其他问题,我已经跟着他们,但我仍然得到错误的角度和图像dosnt旋转反正用pygame找到点之间的角度

,这里是我的角度和旋转图像代码:

mouse_x, mouse_y = pygame.mouse.get_pos() 
mouse_x -= crosshair.get_width()/2 
mouse_y -= crosshair.get_height()/2 
player_atan = math.atan2(player_x-player_y, mouse_x-mouse_y) 
player_angle = degrees(player_atan) 
pygame.transform.rotate(screen, player_angle) 

回答

0

你应该看看python文档:它有一些有价值的信息。

你的精灵不旋转的原因是因为旋转返回一个新的旋转表面。

链接到文档:docs

+0

多数民众赞成在我一直在使用的网站,我使用旋转图像funtion和它dosnt工作obviasly,你说功能返回一个新的旋转表面,那是什么意思? – user2899360

+0

这意味着该功能无法正常工作,它会返回旋转图像的副本。所以要旋转图像,必须将函数的结果返回给变量。 'image = rotate(image)' –

+0

好的,非常感谢您的帮助,只是一件事情,当我运行脚本时,玩家会在大约5秒钟后显示dosnt appaer,然后显示宽度或高度。 – user2899360

1

您必须从不同的点中减去相同的组件。

player_atan = math.atan2(mouse_y - player_y, mouse_x - player_x) 
+0

感谢,即与不正确的角度,但仍图像旋转心不是固定的问题。 – user2899360

+0

以及数字的上半部分都是负数。 – user2899360

+0

这个问题还没有得到解决。任何人都会关心它吗? – user2899360