python - 有没有办法让 pygame 程序在后台运行?
问题描述
我正在尝试创建一个程序来计算在玩游戏时在我的电脑上按下 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()
解决方案
这可能是可能的,但可能不是通过pygame
. 如何做到这一点取决于您使用的操作系统和您正在运行的图形环境。
如果您pygame
在 X11(通常是 macOS 之外的类 UNIX 操作系统)之上运行,那么您可以使用XSelectInput
监听按键。
您还可以“挂钩”到 ms-windows 和 OS/2 Presentation Manager 上的键盘事件。在 ms-windows 上,它是使用SetWindowsHookExA
IIRC 完成的。
推荐阅读
- javascript - Vue.js - 将模板传递给孙子
- javascript - IE 缩进两个而不是一个
- php - Woocommerce cron 作业 - 单独更改订单的订单状态
- c# - Zip 文件未完全更新
- python - 使用 venv python 为 R 安装 tensorflow?
- java - 清除控制台屏幕以接受来自用户的新值
- javascript - React:尝试在 componentDidMount 之后使用 jquery
- python - 如何更改 LSTM 层的输入尺寸
- swift - GULUserDefaults.m - 109 崩溃
- python - 如何在 Python 中计算两个字节的异或?