Godot4.0的浮动游戏工作区自动全屏的问题
在 Godot 4.0 中,当屏幕分辨率小于项目设置中指定的窗口大小,Godot 会自动将主窗口强制切换为全屏模式,这是一种为防止窗口内容显示不完整而设计的行为,但这对于想要保持“浮动窗口”状态(非全屏)的人来说是个问题。
✅ 目标: 保持浮动窗口模式(Windowed),即使当前屏幕分辨率小于设置的窗口大小。
🎯 解决思路 Godot 引擎中这个行为目前是默认的“安全机制”,但你可以通过如下方法来避免它强制全屏:
✅ 方法 1:运行时手动设置窗口大小并强制浮动模式 在你的主脚本中(例如 autoload.gd 或 Main.gd)添加如下代码,确保窗口总是以“窗口模式”运行,并强制缩小尺寸:
// 使用 C# 版本 using Godot; public partial class Main : Node { public override void _Ready() { // 强制取消全屏 DisplayServer.WindowSetMode(DisplayServer.WindowMode.Windowed); // 获取屏幕尺寸 Vector2I screenSize = DisplayServer.ScreenGetSize(); // 获取当前项目设置的窗口大小 Vector2I targetSize = new Vector2I(1280, 720); // 或从 ProjectSettings 读取 // 如果屏幕太小,动态缩小窗口以避免强制全屏 if (targetSize.X > screenSize.X || targetSize.Y > screenSize.Y) { GD.Print("Screen too small, resizing window to fit.