我正在使用名为 MU 的编辑器(内置了 pgzero 模块)来使用 pygamezero。执行代码时,游戏窗口的左上角从屏幕中心生成,并且根据用户提供的高度和宽度尺寸及其屏幕分辨率,窗口的某些部分通常会出现“屏幕外”。我找到了一种方法 - 使用 pygame - 唤起全屏,但我想知道是否有一种方法可以设置游戏屏幕的起始 x/y 坐标,这样它就不是全屏的,但窗口生成位置可以是受控。
要控制 Pygame Zero (
pgzrun
) 中的窗口位置,请使用 os.environ['SDL_VIDEO_WINDOW_POS']
,如下所示。它必须在 import pgzrun
调用之前发生,否则它将不起作用。仅供参考,如果您使用
Thonny(一种教学 IDE),您需要从 Pygame Zero mode
菜单中禁用
Run
来控制窗口的显示位置。如果您不禁用该模式,Thonny 将通过隐式导入(并从而执行)来覆盖您的选择
pgzrun
。以下代码片段会将您的窗口放置在屏幕的左上角。您还可以以不同的方式使窗口
全屏,但这不需要os.environ
。
x = 0
y = 0
import os
os.environ['SDL_VIDEO_WINDOW_POS'] = f'{x},{y}'
import pgzrun
pgzrun.go()
注意:这个问题也(几乎)在其他地方得到了回答。因为这个问题和答案特别与 Pygame Zero 有关,所以我在这里添加这个,这样任何专门寻找 pygame 零解决方案的人都可以找到它。