在窗口Pygame中锁定鼠标

时间:2017-12-09 22:43:19

标签: python pygame mouse

我想在窗口模式下在Pygame中制作一个FPS游戏。

我需要能够无限制地使用隐藏光标将相机移动360度以上。

我使用了Pygame的set_visibleset_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()

1 个答案:

答案 0 :(得分:5)

您也必须致电pygame.event.set_grab(True)

最好允许用户使用Esc或其他键退出,因为他们将无法再单击x按钮关闭窗口。

elif event.type == pygame.KEYDOWN:
    if event.key == pygame.K_ESCAPE:
        exit = True