You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置pygbag生成的pygame网页窗口默认以全屏模式打开

问题描述

通过pygbag打包生成的pygame HTML页面打开时,控制台会占满全屏区域,pygame实际运行窗口缩在页面角落,效果见下图:
pygbag窗口错位效果
要配置pygbag打开时直接进入窗口全屏模式,按以下方法操作即可:

  • 代码层适配:在pygame初始化显示窗口时,使用web端兼容的缩放全屏参数,不要用桌面端独占全屏参数,示例代码如下:
import pygame
import asyncio

pygame.init()
# 分辨率替换为你游戏自身的设计分辨率,SCALED参数会自动适配web端视口做等比缩放
screen = pygame.display.set_mode((你的游戏宽度, 你的游戏高度), pygame.SCALED | pygame.FULLSCREEN)

# 其余游戏逻辑保持原有写法即可,注意要保留pygbag要求的asyncio异步入口
async def main():
    # 你的游戏主循环
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                return
        # 帧渲染逻辑
        pygame.display.flip()
        await asyncio.sleep(0)

asyncio.run(main())
  • 打包参数配置:执行pygbag打包命令时追加--fullscreen参数,打包后的页面启动时会默认隐藏控制台、直接全屏加载游戏窗口:
pygbag --fullscreen 你的项目根目录路径
  • 已打包项目修改:如果已经完成打包不想重新编译,可以直接打开打包生成的index.html文件,找到pygbag初始化配置段,修改两个参数即可:
await pygbag.run({
    // 其余原有配置不要改动
    fullscreen: 1, // 开启全屏适配
    console: 0     // 关闭默认占屏的控制台面板
})

踩坑提示:不要给display.set_mode传pygame.NOFRAME、桌面端专属的多显示器全屏参数,这类参数在web环境下不兼容,会直接导致窗口渲染错位。如果开发阶段需要调出控制台调试,把console参数设为1即可,游戏窗口会自动适配控制台以外的视口区域,不会再缩在角落。

内容的提问来源于stack exchange,提问作者user19345539

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 15:45:41