Godot GUI探讨续二

文章目录

    • 5个最有用的容器
    • CenterContainer
    • MarginContainer
    • VBoxContainer
    • HBoxContainer
    • GridContainer

5个最有用的容器

如果您构建工具,则可能需要所有容器。 但对于大多数游戏来说,少数就足够了:

MarginContainer,用于在部分UI周围添加边距
CenterContainer,用于在其边界框中居中其子级
VboxContainer和HboxContainer,用于在行或列中排列UI元素
GridContainer,在一个类似网格的模式排列Controls节点

CenterContainer

CenterContainer,在边界矩形内居中它的所有子级。 它通常用于标题屏幕,如果你想让标题屏幕的选项保留在视口中心。 因为它居中了所有东西,你经常需要单个容器嵌套在里面。 如果你使用纹理和按钮,它们会叠加起来。
Godot GUI探讨续二_第1张图片

当在CentrerContainer中放入纹理,它们会堆叠在一起。Godot GUI探讨续二_第2张图片

MarginContainer

MarginContainer在子节点的任何一侧添加边距。 添加包含整个视口的MarginContainer,以在窗口边缘和UI之间添加分隔。 您可以在容器的顶部,左侧,右侧或底部设置边距。 无需勾选复选框:单击相应的值框并键入任意数字。 它会自动激活。

MarginContainer在游戏用户界面周围增加了40px的边距The MarginContainer adds a 40px margin around the Game User Interface
有两个BoxContainersVBoxContainer和HBoxContainer。 您不能添加BoxContainer节点本身,因为它是一个辅助类,但您可以使用垂直和水平框容器。 它们按行或列排列节点。 使用它们来排列商店中的项目,或者构建具有不同大小的行和列的复杂网格,因为您可以将它们嵌套到你的核心内容中。

VBoxContainer

VBoxContainer自动将它的子元素排列到一个列中。它把它们一个接一个地放在一起。如果使用分离参数,它将在其子元素之间留下间隙。
Godot GUI探讨续二_第3张图片

HBoxContainer

HBoxContainer将UI元素排列成一行。它类似于VBoxContainer,带有一个额外的add_spacer方法,可以从脚本中在第一个子节点之前或最后一个子节点之后添加间隔控制节点。
Godot GUI探讨续二_第4张图片

GridContainer

GridContainer允许您以类似网格的模式排列UI元素。 您只能控制它拥有的列数,并根据子项的计数自行设置行数。 如果您有九个子级和三列,您将有9÷3 = 3行。 再添加三个子级,你将有四行。 换句话说,当您添加更多纹理和按钮时,它将创建新行。 与盒子容器一样,它有两个属性来分别设置行和列之间的垂直和水平间隔。

一个有两列的GridContainer(网格容器)。它会自动调整每个列的大小Godot GUI探讨续二_第5张图片

你可能感兴趣的:(Godot)