u3d学习笔记三:U3D脚本的生命周期

U3D的脚本从唤醒到销毁有着一个完整的生命周期,所有的周期函数都在MonoBehaviour这个基类中,基本上所有脚本都是继承MonoBehaviour这个类的,在这对脚本生命周期中相对较为重要的函数做一下备忘,函数讲解基本都是来自API文档。

脚本的生命周期中相对重要的函数如下所示(个人观点):
Awake——>OnEnable–>Start——>Update——>FixedUpdate——>LateUpdate——>OnGUI——>OnDisable——>OnDestroy

  1. Awake函数,当一个脚本实例被载入的时候被调用,主要用于在游戏开始之前初始化变量或者游戏状态。在整个生命周期中仅被调用一次,并且是在所有对象都被初始化之后调用,所以可以在Awake中访问其他对象。(需要注意的是,不能在这个函数中调用协程)
  2. OnEnable函数,当对象变为可用或者激活状态时被调用
  3. Start函数,函数仅在Update函数第一次被调用前调用。在整个生命周期中也只是被调用一次,但是和Awake不同的是,Start函数只在脚本实例被启动的时候调用,这里也允许调用协程
  4. Update函数,当脚本启动之后,会在每一帧中都被调动,在这函数中可以更新游戏的状态,是游戏实现中非常常用的函数
  5. FixedUpdate函数,该函数也是脚本启动后的每一帧都会被调用,但是与Update不同的是,FixedUpdate函数是专门用力处理Rigidbody,比如给刚体加一个力的作用。还有一个需要注意的是,FixedUpdate函数和Update函数的帧率是不一样的。
  6. LateUpdate函数,跟Update函数一样,也是每一帧都被调用。有一个特点就是,LateUpdate函数是在所有Update函数调用后才调用的,可以用于调整脚本的执行顺序。
  7. OnGui函数,渲染和处理GUI事件的时候调用,这意味着你的OnGUI程序将会在每一帧被调用。要得到更多的GUI事件的信息查阅Event手册。如果Monobehaviour的enabled属性设为false,OnGUI()将不会被调用。
  8. OnDisable函数,与OnEnable函数相反,OnDisable函数在对象变为不可用或者非激活状态时被调用,可以在此函数中做相关资源的释放。
  9. OnDestroy函数,当脚本被销毁的时候被调用。

你可能感兴趣的:(学习笔记,u3d)