godot顯示設定
紀錄godot 4中設定視窗大小、全螢幕、無痕的方式。
方法
改變視窗大小
使用Vector2i指定寬高
var screen_size = Vector2i(1280 ,720)
DisplayServer.window_set_size(screen_size)
如果需要取得螢幕大小來設定的話可以使用screen_get_size()
#將視窗設定為螢幕大小
DisplayServer.window_set_size(DisplayServer.screen_get_size())
視窗模式
切換window_set_mode設定視窗模式,window_set_flag調整有無顯示標題來達成
下方展示
0:視窗模式
1全螢幕
2無邊界模式
var screen_mode: int = 0
match screen_mode:
0:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, false)
1:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_EXCLUSIVE_FULLSCREEN)
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, false)
2:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, true)
垂直同步,設定對應值即可
0:off
1:Normal
2:Adaptative
3:MailBox
var vsync: int = 0
DisplayServer.window_set_vsync_mode(vsync)
整合
var screen_size = Vector2i(1280 ,720)
var screen_mode: int = 0
var vsync: int = 0
# 設定畫面
func change_video_set() -> void:
DisplayServer.window_set_size(screen_size)
match screen_mode:
0:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, false)
1:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_EXCLUSIVE_FULLSCREEN)
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, false)
2:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, true)
DisplayServer.window_set_vsync_mode(vsync)