有没有办法让pygame程序在后台运行?

时间:2020-04-12 15:38:50

标签: python pygame background-process

我正在尝试创建一个程序,该程序计算玩游戏时我的PC上按Z和X键的次数,而且我使用pygame是因为我使用它几次来理解语法并创建简单的游戏...

一切正常,因为它实际上可以计算按键次数...但是我不知道如何使它在后台运行。

代码如下:

import pygame

pygame.init()

screen = pygame.display.set_mode((300, 100))

countZ = 0
countX = 0

run = True

while run:
    screen.fill((255,255,255))
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

        if event.type == pygame.KEYDOWN:
            if event.key ==pygame.K_z:
                countZ += 1
            if event.key == pygame.K_x:
                countX += 1

    print(countZ, countX)
    pygame.display.update()

1 个答案:

答案 0 :(得分:0)

有可能,但可能无法通过pygame。 具体操作取决于您使用的操作系统和运行的图形环境。

如果您正在X11之上运行pygame(通常是macOS以外的类似UNIX的操作系统),则可以使用XSelectInput监听按键。

您还可以“挂钩”到ms-windows和OS / 2 Presentation Manager上的键盘事件。在ms-windows上,使用IIRC SetWindowsHookExA完成。