godot游戏引擎的生命周期

Viewed 49

什么是生命周期,游戏引擎的设计者,为了让程序员从繁琐的底层细节中解放,更好地专注于游戏逻辑。把游戏对象从创建到销毁整个过程中的一些 “关键时刻” 都 “提取” 出来,然后游戏程序员只需要找到自己 “需要的时刻” 把相应的游戏逻辑添加进去即可。

Node类是所有可以“放到”场景树上的节点的继承体系的起点。所以Node的生命周期是最重要也是最常用的

生命周期

类型 函数名 说明 和Unity对应的方法
void _init ( ) 基类Object的初始化方法,“相当”于构造函数,也是可以重写的
void _enter_tree ( ) 进入场景树 Awake
void _ready ( ) 当节点准备就绪 Start
void _physics_process ( float delta ) 物理同步更新 FixedUpdate
void _process ( float delta ) 帧同步更新 Update
void _exit_tree ( ) 离开场景树 OnDestroy

注意

如果一个节点有子节点那么:

_enter_tree是通过前序遍历的方式调用的,即其自身的_enter_tree会最先调用,然后调用其子节点的_enter_tree

_exit_tree是通过后序遍历的方式调用的,即其子节点的_exit_tree会最先调用,最后调用自身的_exit_tree

_ready是通过后序遍历的方式调用的,即其子节点的_ready会最先调用,最后调用自身的
_ready,并且_ready的调用是在自身以及所有子节点的_enter_tree调用完毕后才调用

0 Answers