我使用 Pygame 制作了一个 Python 游戏。我尝试做到这一点,以便在启动时加载 shell,输入原始输入将显示 pygame 窗口并启动游戏,这样我就可以使游戏可以玩而无需关闭 shell。但是,它可以工作,窗口会最小化。该游戏是一个简单的“躲避物体”,并且没有任何暂停。游戏仍然在后台运行,可能会让玩家在用户意识到之前击中多个射弹。有没有办法聚焦在窗口上?
据我了解,您不希望在窗口处于全屏模式之前开始游戏,对吗?
当我尝试尝试(从原始输入开始)时,我的显示从一开始就是全屏的。你都设置正确了吗?
我建议您停止游戏,直到有实际的按键输入(无论您设置了什么控件)。这样,玩家在开始游戏之前就有时间按照自己的喜好安排一切。因为,即使您弄清楚如何分析焦点问题:当游戏开始时,窗口具有焦点,因此这种方法无论如何都行不通。
对于将来偶然发现这个问题的任何人:
截至 2022 年,pygame v2.1.2 有一个实验模块
._sdl2
其中: Window.focus()
用于制作一个窗口在顶部移动并设置焦点。 Windows.focus()
支持可选的 input_only
bool 参数,无论何时窗口应移动到顶部 (False),或仅收集输入 (True)。