初始化顺序

场景树生成前

注意:场景树生成不代表节点都已完全初始化!!完全初始化工作还有收尾工作 _ready()

从上往下,从外往里,从var_init()
场景树生成前节点初始化顺序

场景树生成前节点语句初始化顺序

场景树生成后

从里往外,从上往下,从onready var_ready()
场景树建成后里节点初始化顺序

场景生成后节点语句初始化顺序

_ready()

节点默认自带的方法,会在场景树建成后,运行的方法。

onready

会在_ready()方法运行前运行。

使用节点时,通常希望将对场景部分的引用保留在变量中。由于仅在进入活动场景树时才保证要配置场景,因此只有在调用Node._ready()时才能获得子节点。

var my_label

func _ready():
    my_label = get_node("MyLabel")

这可能会有些麻烦,尤其是当节点和外部引用堆积时。为此,GDScript具有onready关键字,它将成员变量的初始化推迟到调用_ready()为止。它可以用一行替换上面的代码:

onready var my_label = get_node("MyLabel")
最后修改:2020 年 07 月 15 日
如果觉得我的文章对你有用,请随意赞赏