zoukankan      html  css  js  c++  java
  • Unity3D脚本的生命周期(执行顺序)

    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

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

    41DEF221-DA2C-4965-AE8E-395AC0013902

    声明:此博客为个人学习之用,如与其他作品雷同,纯属巧合,并请明示指出
  • 相关阅读:
    Python学习进程(1)Python简介
    OpenGL学习进程(10)第七课:四边形绘制与动画基础
    OpenGL学习进程(9)在3D空间的绘制实例
    GO语言结构体
    GO指针
    GO值类型与引用类型
    GO函数
    GO map
    GO切片
    GO数组
  • 原文地址:https://www.cnblogs.com/fws94/p/6372557.html
Copyright © 2011-2022 走看看