Unity3D脚本的生命周期(执行顺序)

时间:2022-12-28 16:11:25

Unity脚本中有许多固定的函数

例如Start();Update();

 

而这些函数都有固定的执行顺序

搞清楚这些函数的执行顺序

对于我们理清代码的逻辑就显得尤为重要

 

举个简单的例子

//脚本A
public static int a = 1;
void Start(){
a = 2;
}

//脚本B
void Start(){
Debug.Log(A.a);
}

 

这时,我们的原意是将重新赋值后的a打印出来

但是,打印的结果却是1,而不是2

这是因为在脚本B的Start()函数启用之前

脚本A的Start()函数也没有启用

 

改正的思路,便是让脚本A的赋值更早执行

这样脚本B就可以调用到脚本A赋值之后的值

例如,将赋值放在Awake()中进行

//脚本A
public static int a = 1;
void Awake(){
a = 2;
}

 

这样,脚本B就可以在Start()函数中调用已经在Awake()函数中赋值过的a

 

下面,给出官网的完整生命周期

Unity3D脚本的生命周期(执行顺序)

 

 

声明:此博客为个人学习之用,如与其他作品雷同,纯属巧合,并请明示指出