如何在Godot 4游戏启动时设置适配多平台的屏幕分辨率
Godot多平台全屏分辨率适配实现方案
以下是符合需求的GDScript实现,能在Mac、Windows等平台首次启动时自动检测设备分辨率并设置全屏模式,同时保存设置避免重复执行:
func _ready(): # 检查是否是首次启动(自定义配置项,默认值设为true) var is_first_launch = ProjectSettings.get_setting("custom/is_first_launch", true) if is_first_launch: # 获取主显示器的分辨率 var display_size = DisplayServer.get_display_size(DisplayServer.get_primary_display()) var screen_width = display_size.x var screen_height = display_size.y # 设置窗口为全屏模式 DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN) # 保存分辨率到项目设置(可选,若需后续读取) ProjectSettings.set_setting("display/window/size/width", screen_width) ProjectSettings.set_setting("display/window/size/height", screen_height) # 标记首次启动完成,避免下次启动重复执行 ProjectSettings.set_setting("custom/is_first_launch", false) # 保存所有设置到配置文件 ProjectSettings.save()
关键细节说明:
- DisplayServer类:Godot 3.2及以上版本推荐的跨平台显示操作API,替代旧版本OS类,兼容Mac、Windows等所有主流平台。
- 首次启动判断:通过自定义配置项
custom/is_first_launch标记状态,若未预先在项目设置中添加该配置,代码会自动使用默认值true。 - 全屏设置:直接调用
window_set_mode设置全屏模式,比单独设置宽高更可靠,能适配不同平台的全屏逻辑差异(比如Mac的沉浸式全屏)。 - 设置保存:
ProjectSettings.save()会将配置写入对应存储文件,确保下次启动时沿用已配置参数。
内容的提问来源于stack exchange,提问作者Coding_Guy
相关产品推荐
相关产品推荐

