节点:Godot 的基石

238 阅读3分钟

“我正在参加掘金社区游戏创意投稿大赛个人赛,详情请看:游戏创意投稿大赛

原文:Nodes: Godot's building blocks :: Godot Recipes (kidscancode.org)

作者:# Chris Bradfield

节点是 Godot 的基础。 它代表着某种特定的功能。一个给定类型的节点可能用于显示图像,播放动画,展示3d 模型。 节点也包括一系列属性,让你可以自定义它的行为。

将哪些节点添加到你的游戏取决于你需要什么功能。

模块化的设计让你在制作游戏时有相当大的灵活性。

使用节点

节点是对象, 它们封装了数据和行为,并且可以从其他节点继承属性。与其使用默认,单击场景工具栏中的“添加/创建新节点”按钮可以添加节点。

alt

在这里你将看到整个引擎中可用的节点类型的层次体系。举个例子,蓝紫色图标的节点全部属于 Node2d 类型,这代表它们都有 node2d 的属性。

具有蓝色紫色图标的节点全部属于 Node2d 类别,这代表它们都将有 Node2D 的属性。

alt

这个列表很长,每次都不断点击展开然后查找节点挺让人不爽的。所以可以使用搜索功能来查找。比如查找 Sprite 节点,输入 sp 然后直接点击创建添加节点。

alt

现在我们在“场景”工具栏里有个 Sprite 节点。如果选了它,然后查看右侧的检查器。可以看到所选的任何节点的所有属性。注意,这些属性是根据它们的来源分类组织的。Sprite 节点从 Node2D 继承,Node2D 从 CanvasItem 继承。

alt

在预览窗口中,Sprite 看起来不咋地。Sprite 的目的是显示图像或纹理。像检查器中看到的一样,材质texture 属性现在是空的。幸运的是,每个新的 godot 项目都有一个能用的图片:godot 的图标。从文件系统工具栏拖动图标,然后把它放在纹理属性中。

在检查器中,点击展开 Transform 部分,在 位置position 属性上输入 (50, 50)

alt

也可以在预览窗口中点击和拖动 sprite ,然后可以看到位置的值随着移动改变。

节点的一个重要特点是它们可以设置成层次结构。选中 Sprite 并按下添加按钮。添加另一个 Sprite 并将图标拖入其材质texture。

这个新的 sprite 是最初的那个节点的子节点。这意味着它和它的父节点连在一起。如果父 Sprite 移动,那么子 Sprite 也会跟随着移动。点击子 Sprite 并将其 Position 属性设置为 (50, 50)。现在点击并拖动父 Sprite 在屏幕上移动。

注意父节点的位置参数也会随着子节点移动而移动。现在检查子节点,它仍然是 (50, 50)。 这是因为它的 Transform 数字和父节点是关联的。

alt

Scene 场景

将节点像这样组在一起能发挥强大的作用。它让我们可以构造复杂的对象。

举个例子,一个“player”节点可能有许多子节点和它关联,一个Sprite 用于显示,一个 AnimationPlayer 让他动起来还有一个 “Camera” (摄像机) 跟随它...等等。

alt

一组组织在像这样的树形结构中的节点被叫做 Scene。