我想在窗口模式下在Pygame中制作一个FPS游戏.
我需要能够无限制地使用隐藏的光标将我的相机移动360度以上.
我使用了Pygame的set_visible和set_pos,但它并没有阻止我的鼠标离开窗口并阻挡屏幕边框.
import pygame
pygame.init()
game_display = pygame.display.set_mode((800,600))
pygame.mouse.set_visible(False)
exit = False
while (not exit):
pygame.mouse.set_pos = (400, 300)
mouse_move = (0,0)
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit = True
if event.type == pygame.MOUSEMOTION:
mouse_move = event.rel
if mouse_move != (0,0):
print(mouse_move)
pygame.quit()
解决方法:
你也必须拨打pygame.event.set_grab(True)
.
最好允许用户使用Esc或其他键退出,因为他们将无法再单击x按钮关闭窗口.
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
exit = True