Window
2026/4/14大约 3 分钟
最后同步日期:2026-04-15 | Godot 官方原文 — Window
Window
节点继承关系
继承自 Node
| 类型 | 名称 | 说明 |
|---|---|---|
| 属性 | Name | 节点名称 |
| 属性 | ProcessMode | 处理模式(始终 / 暂停时 / 仅编辑器) |
| 属性 | ProcessPriority | 处理优先级,数字越小越先执行 |
| 信号 | ready | 节点进入场景树并准备就绪 |
| 信号 | tree_entered | 节点进入场景树 |
| 信号 | tree_exited | 节点完全离开场景树 |
| 方法 | GetNode<T>() | 按路径获取子节点 |
| 方法 | AddChild() | 添加子节点 |
| 方法 | RemoveChild() | 移除子节点 |
| 方法 | QueueFree() | 帧结束后释放节点 |
| 方法 | GetParent() | 获取父节点 |
定义
Window 创建一个真正的操作系统窗口。不是游戏里的假窗口,而是操作系统级别的窗口——就像你电脑上打开的浏览器窗口、文件夹窗口一样。你可以用它来创建额外的弹窗、工具面板、设置窗口等。
简单说:它让你的游戏能打开额外的操作系统窗口。
使用频率:★★ 偶尔使用
节点用途
- 设置窗口:游戏设置(音量、画质等)用单独的窗口
- 工具面板:关卡编辑器、调试工具等
- 多窗口游戏:本地多人游戏,每人一个窗口
- 弹窗提示:系统消息、确认对话框
使用场景
| 场景 | 说明 |
|---|---|
| 关卡编辑器 | 打开一个额外的窗口作为关卡编辑工具 |
| 设置面板 | 游戏内打开操作系统窗口调整设置 |
| 多窗口 | 同时显示主游戏画面和排行榜 |
常用节点搭配
| 搭配节点 | 搭配方式 |
|---|---|
| Control | 作为 Window 的子节点,放置UI内容 |
生效必备素材/资源
Window 不需要外部资源。
节点属性与信号
属性
| 属性 | 类型 | 默认值 | 继承自 | 说明 |
|---|---|---|---|---|
| title | string | "" | Window | 窗口标题栏显示的文字 |
| size | Vector2i | (0, 0) | Window | 窗口大小 |
| position | Vector2i | — | Window | 窗口在屏幕上的位置 |
| mode | int | 0 | Window | 窗口模式:0=窗口化,1=最小化,2=最大化,3=全屏,4=独占全屏 |
| visible | bool | false | Window | 窗口是否可见 |
| transparent | bool | false | Window | 窗口背景是否透明 |
| unresizable | bool | false | Window | 是否禁止调整窗口大小 |
| always_on_top | bool | false | Window | 窗口是否始终在最前面 |
| borderless | bool | false | Window | 是否无边框(去掉标题栏) |
| exclusive | bool | false | Window | 是否独占窗口 |
信号
| 信号 | 参数 | 说明 |
|---|---|---|
| window_input(event) | event: InputEvent | 窗口收到输入事件时触发 |
| close_requested | 无 | 用户点击关闭按钮时触发 |
常用方法
| 方法 | 返回值 | 说明 |
|---|---|---|
| MoveToCenter() | void | 将窗口移动到屏幕中央 |
代码示例
C
// C# - 创建设置窗口
using Godot;
public partial class SettingsWindow : Window
{
public override void _Ready()
{
Title = "游戏设置";
Size = new Vector2I(400, 300);
Exclusive = true; // 打开时阻止主窗口输入
Unresizable = true; // 禁止调整大小
AlwaysOnTop = true; // 始终在最前面
CloseRequested += () =>
{
Hide(); // 点击关闭时隐藏而不是退出
};
}
public void OpenSettings()
{
Visible = true;
MoveToCenter();
}
}GDScript
# GDScript - 创建设置窗口
extends Window
func _ready():
title = "游戏设置"
size = Vector2i(400, 300)
exclusive = true # 打开时阻止主窗口输入
unresizable = true # 禁止调整大小
always_on_top = true # 始终在最前面
close_requested.connect(func():
hide() # 点击关闭时隐藏而不是退出
)
func open_settings():
visible = true
move_to_center()