📜  godot 通过 gdscript 实例化场景 (1)

📅  最后修改于: 2023-12-03 15:31:00.789000             🧑  作者: Mango

Godot 通过 GDScript 实例化场景

在 Godot 中,我们可以通过编写 GDScript 代码来实例化场景。实例化场景的意思就是将场景中的节点作为子节点添加到已有的节点上,从而组成一个完整的场景。

准备工作

首先,确保您已经有了一个场景文件,其中包含了您需要实例化的节点。您可以在 Godot 的编辑器中创建一个新场景,或者导入一个已有的场景文件。

GDScript 代码

下面是一个简单的 GDScript 例子,它演示了如何实例化一个已有的场景。

extends Node

var my_scene = preload("res://my_scene.tscn")

func _ready():
    var scene_instance = my_scene.instance()
    add_child(scene_instance)

上面的代码中,我们首先通过预加载(preload)函数加载了我们需要实例化的场景文件。这个将场景文件缓存到内存中,以便我们通过代码来访问它。

然后,在 _ready 函数中,我们调用了场景文件的 instance 函数,创建了一个场景实例。最后,我们将这个实例作为子节点添加到当前节点中(这里指当前 GDScript 对应的节点)。

注意事项
  • 我们在使用预加载函数时,需要将场景的路径作为参数传递给它,并且需要使用 res:// 前缀来表示该路径是相对于项目根目录的。
  • 实例化一个场景时,我们可以选择是否在创建时自动调用该场景节点的 _ready 函数(默认为 true)。
  • 在将场景实例添加到父节点时,我们需要确保这个父节点已经被添加到了场景中。否则,将无法正常显示。
结论

这就是如何通过 GDScript 代码实例化一个场景的方法。借助于 GDScript 强大的编程能力,我们不仅可以简单地实例化一个场景,还可以动态地修改场景中的节点参数,或是通过代码来控制场景中的各个节点。