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脚本的生命周期(执行顺序)

 

 

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

相关文章:

  • 2021-10-08
  • 2022-12-23
  • 2022-12-23
  • 2021-10-10
  • 2021-05-20
  • 2021-11-12
  • 2021-05-09
  • 2022-12-23
猜你喜欢
  • 2021-11-14
  • 2022-02-23
  • 2021-06-13
  • 2021-07-18
相关资源
相似解决方案