Appearance
UI节点讲解
容器节点(Container)
容纳其他节点的节点。
AspectRatioContainer
保持子节点的宽高比。
Box容器
有VBoxContainer, BoxContainer,HBoxContainer
- VBoxContainer: 垂直排列子节点。
- HBoxContainer: 水平排列子节点。
- BoxContainer: 可以自定义方向排列子节点。
中心容器
CenterContainer: 子节点居中显示。
流动容器
FlowContainer: 子节点按照一定的规则流动排列。 HFlowContainer: 水平流动排列子节点。 VFlowContainer: 垂直流动排列子节点。
水平流动排列的子节点会在水平方向上依次排列,当到达容器的边界时,会自动换行。 垂直流动排列的子节点会在垂直方向上依次排列,当到达容器的边界时,会自动换行。
网格容器
GridContainer: 子节点按照网格布局排列。
- 网格容器可以设置网格的行数和列数。
- 子节点会按照网格的布局进行排列。
- 可以通过设置网格容器的
columns属性来指定网格的列数。 - 可以通过设置网格容器的
rows属性来指定网格的行数。
分割容器
SplitContainer: 子节点按照分割线进行分割。 HSplitContainer: 水平分割容器。 VSplitContainer: 垂直分割容器。
边距容器
MarginContainer: 子节点添加边距。
- 可以通过设置MarginContainer的
margin_left、margin_right、margin_top、margin_bottom属性来指定子节点的边距。 - 可以通过设置MarginContainer的
margin属性来同时指定所有方向的边距。
面板容器
PanelContainer: 子节点添加面板。自带背景。
- 可以通过设置PanelContainer的
panel属性来指定面板的样式。 - 可以通过设置PanelContainer的
panel_size属性来指定面板的大小。
滚动容器
ScrollContainer: 子节点添加滚动条。只能有一个子节点。
- 可以通过设置ScrollContainer的
scroll_mode属性来指定滚动模式。 - 可以通过设置ScrollContainer的
hscroll属性来指定是否显示水平滚动条。 - 可以通过设置ScrollContainer的
vscroll属性来指定是否显示垂直滚动条。
实践上,会添加VBoxContainer或HBoxContainer作为ScrollContainer的子节点,用于容纳滚动的内容。
标签容器
LabelContainer: 子节点添加标签。
- 可以通过设置LabelContainer的
label属性来指定标签的文本。 - 可以通过设置LabelContainer的
label_size属性来指定标签的大小。
元素节点
标签
- Label: 显示文本的标签。
- RichTextLabel: 显示富文本的标签。
颜色矩形
ColorRect: 显示颜色的矩形。
- 可以通过设置ColorRect的
color属性来指定矩形的颜色。 - 可以通过设置ColorRect的
size属性来指定矩形的大小。
纹理矩形
TextureRect: 显示纹理的矩形。
- 可以通过设置TextureRect的
texture属性来指定矩形的纹理。 - 可以通过设置TextureRect的
size属性来指定矩形的大小。
视频流播放器
VideoStreamPlayer: 播放视频流。
- 可以通过设置VideoStreamPlayer的
stream属性来指定视频流。 - 可以通过设置VideoStreamPlayer的
play属性来指定是否播放视频流。
分隔符
HSeparator: 水平分隔符。 VSeparator: 垂直分隔符。
九宫格矩形
NinePatchRect: 显示九宫格纹理的矩形。
- 可以通过设置NinePatchRect的
texture属性来指定九宫格纹理。 - 可以通过设置NinePatchRect的
size属性来指定矩形的大小。
输入节点
输入节点自带信号机制,用于响应玩家的输入。
按钮
Button: 按钮。用默认主题。 TextureButton: 有纹理的按钮。 LinkButton: 链接按钮。带下划线,点击后允许跳转到网页。
复选框
CheckBox: 复选框。 CheckButton: 复选按钮。是HTML里的radio按钮,即那种开关式的
菜单按钮
MenuButton: 菜单按钮。点击后弹出菜单。
选项按钮
OptionButton: 选项按钮。点击后弹出选项菜单。
颜色选择按钮
ColorPickerButton: 颜色选择按钮。点击后弹出颜色选择器。
文本输入
LineEdit: 单行文本输入框。可普通输入和密码输入。 TextEdit: 多行文本输入框。 CodeEdit: 代码编辑框。
范围节点
用来表示范围的节点。
进度条
ProgressBar: 进度条。 TextureProgressBar: 有纹理的进度条。
旋转框
SpinBox: 旋转框。其实就是一个文本输入框,只不过只能输入数字,且可以通过点击上下箭头来调整数值。
- 可以通过设置SpinBox的
min属性来指定最小值。 - 可以通过设置SpinBox的
max属性来指定最大值。 - 可以通过设置SpinBox的
step属性来指定步长。
滚动条
HScrollBar: 水平滚动条。 VScrollBar: 垂直滚动条。
滑块
HSlider: 水平滑块。 VSlider: 垂直滑块。
- 可以通过设置HSlider或VSlider的
min属性来指定最小值。 - 可以通过设置HSlider或VSlider的
max属性来指定最大值。 - 可以通过设置HSlider或VSlider的
step属性来指定步长。
项目列表
ItemList: 项目列表。可以看做是一个下拉列表,只不过每个项目都是一个单独的项。
- 可以通过设置ItemList的
items属性来指定项目列表的项目。 - 可以通过设置ItemList的
selected属性来指定当前选中的项目。
菜单栏
MenuBar: 菜单条。可以添加多个菜单。(文件、编辑之类的一整条菜单)
- 可以通过添加MenuButton作为MenuBar的子节点来添加菜单。
- 可以通过设置MenuButton的
menu属性来指定菜单的内容。
标签栏
TabBar: 标签栏。可以添加多个标签页。
- 可以通过添加TabButton作为TabBar的子节点来添加标签页。
- 可以通过设置TabButton的
tab属性来指定标签页的内容。 - 可以通过设置TabBar的
selected属性来指定当前选中的标签页。
参考矩形
ReferenceRect: 参考矩形。用于调试。对于定位有空白空间的节点非常有用。
树节点
Tree: 树节点。用于显示层级结构。
图形相关节点
GraphNode: 能够在 GraphEdit 图中创建节点,节点会根据其子控件定制内容。 GraphEdit: 提供了用于对各种图进行创建、操作、显示的工具
触摸屏按钮
TouchScreenButton: 触摸屏按钮。用于在触摸屏上点击按钮。
需要使用到按键输入映射和触摸输入的场景,用触摸屏按钮。
- 可以通过设置TouchScreenButton的
texture属性来指定按钮的纹理。 - 可以通过设置TouchScreenButton的
size属性来指定按钮的大小。
控制节点
Control: 控制节点。用于在场景中添加可交互的元素。