【Godot4.4】内置对话框函数
Godot内可以通过添加对话框节点的形式来创建和显示对话框。除此而外,Godot自身也提供了一些对话框函数,方便一些简单对话框的显示和使用。本文小小总结一下Godot4.4版本的对话框函数。
概述
Godot内可以通过添加对话框节点的形式来创建和显示对话框。除此而外,Godot自身也提供了一些对话框函数,方便一些简单对话框的显示和使用。
本文小小总结一下Godot4.4版本的对话框函数。
原生系统对话框
OS
和DisplayServer
提供了几个关于系统原生对话框的函数,所以如果你想直接使用系统的对话框,可以绕开对话框节点直接使用。
Godot4.4对话框函数{OS{alert()DisplayServer{dialog_show()dialog_input_text()file_dialog_show()file_dialog_with_options_show() \scriptsize Godot4.4对话框函数 \begin{cases} OS \begin{cases} alert()\\ \end{cases} \\ DisplayServer \begin{cases} dialog\_show()\\ dialog\_input\_text()\\ file\_dialog\_show()\\ file\_dialog\_with\_options\_show()\\ \end{cases} \\ \end{cases} Godot4.4对话框函数⎩ ⎨ ⎧OS{alert()DisplayServer⎩ ⎨ ⎧dialog_show()dialog_input_text()file_dialog_show()file_dialog_with_options_show()
提示对话框
OS.alert()
这是一个简单的提示信息对话框,只显示一个确定按钮。并且没有返回值,也不提供回调函数处理按钮的点击。
void alert(
text: String, \\ 对话框标题
title: String = "Alert!" \\ 提示文字
)
举例
OS.alert("这里是提示文本","提示")
MacOS显示效果 | Windows效果 |
---|---|
![]() |
![]() |
dialog_show()
DisplayServer
单例也提供了一个提示对话框函数dialog_show()
,不过相比OS.alert()
,它提供了自定义多按钮的设计,并且提供回调函数,处理按钮点击,并且会返回一个Error
值。
\\ 普通对话框
Error dialog_show(
title: String, \\ 对话框标题
description: String, \\ 提示文字
buttons: PackedStringArray, \\ 按钮文本
callback: Callable \\ 回调函数,处理按钮点击
)
比如:
var err = DisplayServer.dialog_show("标题","这里是描述",["确定","取消"],func(index:int):
match index:
0:
print("你点击了确定")
1:
print("你点击了取消")
)
MacOS显示效果 | Windows效果 |
---|---|
![]() |
![]() |
输入对话框
DisplayServer
单例dialog_input_text()
提供一个输入对话框,可以处理一些简单的文本输入,或者修改名称等逻辑。
Error dialog_input_text(
title: String, \\ 对话框标题
description: String, \\ 描述文本
existing_text: String, \\ 已经存在的输入字符串
callback: Callable \\ 回调函数,处理OK按钮点击
)
举例:
var err = DisplayServer.dialog_input_text("标题","这里是描述","已经存在的文本",func(input:String):
print(Input)
)
MacOS显示效果 | Windows效果 |
---|---|
![]() |
![]() |
文件对话框
file_dialog_show()
Error file_dialog_show(
title: String, \\ 对话框标题
current_directory: String, \\ 当前目录
filename: String, \\ 文件名
show_hidden: bool, \\ 是否显示隐藏文件和文件夹
mode: FileDialogMode, \\ 文件对话框模式
filters: PackedStringArray, \\ 后缀集合,过滤器
callback: Callable \\ 回调函数,处理对话框按钮或文件选中后的处理
)
回调函数形式:
func(
status: bool,
selected_paths: PackedStringArray, \\ 选中文件或文件夹的完整路径数组
selected_filter_index: int
):
举例:
var err = DisplayServer.file_dialog_show(
"标题",
"/Users/xingshimacbookair/Downloads",
"",
false,
DisplayServer.FILE_DIALOG_MODE_OPEN_FILE,
["*.gd;脚本文件"],
func(status: bool, selected_paths: PackedStringArray, selected_filter_index: int):
print(selected_paths)
)
MacOS显示效果 | Windows效果 |
---|---|
![]() |
![]() |
file_dialog_with_options_show()
貌似是file_dialog_show()
的进阶版本,但是Godot内置文档对其所谓选项的具体使用方式没有过多的描述,笔者自己搜索“文件对话框选项”之类的也没有得到有用的信息。
Error file_dialog_with_options_show(
title: String, \\ 对话框标题
current_directory: String, \\ 当前目录
root: String, \\
filename: String, \\ 文件名
show_hidden: bool, \\ 是否显示隐藏文件和文件夹
mode: FileDialogMode, \\ 文件对话框模式
filters: PackedStringArray, \\ 后缀集合,过滤器
options: Array[Dictionary], \\
callback: Callable \\ 回调函数,处理对话框按钮或文件选中后的处理
)
回调函数:
func(
status: bool,
selected_paths: PackedStringArray,
selected_filter_index: int,
selected_option: Dictionary
)
options:
单个选项构成如下:
{
"name":"" \\ 选项的名称(String)
"values":[], \\ 值数组(PackedStringArray),如果为空,则使用布尔选项(复选框)
"default":1 \\ 默认选择的选项索引(int)或默认布尔值(bool)
}
options
则是由若干上述形式的选项字典构成的数组。
更多推荐
所有评论(0)