Pygame_零窗口定位

问题描述 投票:0回答:2

我正在使用名为 MU 的编辑器(内置了 pgzero 模块)来使用 pygamezero。执行代码时,游戏窗口的左上角从屏幕中心生成,并且根据用户提供的高度和宽度尺寸及其屏幕分辨率,窗口的某些部分通常会出现“屏幕外”。我找到了一种方法 - 使用 pygame - 唤起全屏,但我想知道是否有一种方法可以设置游戏屏幕的起始 x/y 坐标,这样它就不是全屏的,但窗口生成位置可以是受控。

python pgzero
2个回答
2
投票

要控制 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 零解决方案的人都可以找到它。


0
投票
同时,在MU编辑器中,您可以简单地在配置设置中添加Python 3环境变量SDL_VIDEO_WINDOW_POS=0,0。这使得默认的 Pygame Zero 游戏窗口左上角到屏幕左上角位置 (0,0)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.