Godot 4设置项修改窗口尺寸无效,求生效方法
Godot 4 修改屏幕尺寸不生效的解决办法
直接通过ProjectSettings.set_setting()修改窗口宽高参数后,不会自动触发窗口尺寸更新,需要配合DisplayServer的API才能让设置实时生效,同时还要注意窗口模式的影响。
核心解决方案
修改项目设置后,调用DisplayServer.window_set_size()立即应用新尺寸:
# 写入项目配置 ProjectSettings.set_setting("display/window/size/width", 1920) ProjectSettings.set_setting("display/window/size/height", 1080) # 保存配置(可选,让设置在重启游戏后依然生效) ProjectSettings.save() # 实时更新窗口尺寸 DisplayServer.window_set_size(Vector2(1920, 1080))
全屏模式下的处理
如果当前窗口处于全屏模式,直接修改尺寸可能无效,需要先切换到窗口模式调整,再按需切回全屏:
# 检查当前窗口模式 if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_FULLSCREEN: DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED) # 修改并应用尺寸 ProjectSettings.set_setting("display/window/size/width", 1920) ProjectSettings.set_setting("display/window/size/height", 1080) ProjectSettings.save() DisplayServer.window_set_size(Vector2(1920, 1080)) # 可选:重新切换回全屏 DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
为什么直接改ProjectSettings没用?
ProjectSettings里的参数是项目的配置项,修改后只会在下次启动游戏时自动加载,但不会实时触发窗口的尺寸变更。必须通过DisplayServer的API直接操作窗口实例,才能让当前运行的游戏立即生效。
内容的提问来源于stack exchange,提问作者Locu
相关产品推荐
相关产品推荐

