pygame KEYUP 仅注册 KEYDOWN

pygame KEYUP registers only KEYDOWNs

当我按下空格键时 "up" 和 "down" 是同时打印的,但是当我松开时,什么也没有发生。

while True:

    pygame.display.set_mode((600,600))

    for event in pygame.event.get():

        if event.type == pygame.KEYDOWN:

            if event.key == pygame.K_SPACE:                    
                print('down')

        if event.type == pygame.KEYUP:

            if event.key == pygame.K_SPACE:
                print('up')

        if event.type == pygame.QUIT:

            pygame.quit()
            exit()

您正在创建一个新的 display 游戏的每一帧。 您只需在游戏循环的外部创建显示一次。它也应该分配给一个变量,因为如果你想向它绘制(blit)项目,你将需要它,例如。

display = pygame.display.set_mode((600,600))

# Game loop
while True:    
    for event in pygame.event.get():

        if event.type == pygame.KEYDOWN:
    # ...