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

如何将GraphWin窗口置于屏幕中央?含全屏需求及尝试记录

游戏窗口居中与全屏实现方案

通用居中逻辑

已获取屏幕宽高的前提下,窗口居中的计算逻辑很直观:
设屏幕宽高为 screen_width、screen_height,窗口宽高为 window_width、window_height,则窗口左上角的居中坐标为:

pos_x = (screen_width - window_width) // 2
pos_y = (screen_height - window_height) // 2

多数框架以屏幕左上角为坐标原点,直接套用即可。

主流游戏框架的具体实现

Pygame(Python)

import pygame
import os

pygame.init()
# 获取屏幕分辨率
screen_info = pygame.display.Info()
screen_w, screen_h = screen_info.current_w, screen_info.current_h

# 自定义窗口大小(窗口化居中用)
win_w, win_h = 800, 600
# 计算居中坐标
pos_x = (screen_w - win_w) // 2
pos_y = (screen_h - win_h) // 2
# 设置窗口位置(Windows/macOS/Linux通用)
os.environ['SDL_VIDEO_WINDOW_POS'] = f"{pos_x},{pos_y}"

# 创建窗口
window = pygame.display.set_mode((win_w, win_h))

# 切换全屏的两种方式
# 1. 独占全屏(无窗口边框,完全占满屏幕)
window = pygame.display.set_mode((screen_w, screen_h), pygame.FULLSCREEN)
# 2. 无边框全屏(窗口化全屏,可保留系统任务栏)
window = pygame.display.set_mode((screen_w, screen_h), pygame.NOFRAME)

Godot

  1. 窗口居中:
    打开Project Settings → Display > Window,勾选Position > Center,启动后窗口自动居中。
  2. 全屏设置:
    • 代码实现:OS.window_fullscreen = true
    • 可视化设置:在Project Settings的Window > Fullscreen中勾选Fullscreen。

Unity

  1. 窗口居中:
    进入Edit > Project Settings > Player > Resolution and Presentation,在Windowed选项下将Screen Position设为Center。
  2. 全屏实现:
    • 代码方式:Screen.fullScreen = true;
    • 可视化设置:将Fullscreen Mode设为Exclusive Fullscreen或Windowed Fullscreen。

关键点提示

  • 部分框架的独占全屏模式会自动覆盖窗口位置设置,若需先居中再全屏,建议使用无边框全屏模式。
  • 多显示器环境下,需确保获取的是主屏幕的分辨率,避免窗口居中到副屏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 20:25:17