Unity 3D C#脚本开发---生命周期

Unity脚本生命周期

-----------------------------初始阶段--------------------------------------

Awake与Start,作用:初始化

执行时机:创建游戏物体–>立即执行(早于Start) Awake
//Awake 唤醒:
private void Awake()
{
    Debug.log("Awake--"+Time.time+"--"+this.time);
}
执行时机:创建游戏物体–>脚本启用–执行Start
//Start 开始:
private void Start()
{
    Debug.log("Start--"+Time.time+"--"+this.time);
}
OnEnable 当可用:每当脚本启用时调用。

-----------------------------物理阶段--------------------------------------

FixedUpdate 固定更新
脚本启用后,固定时间被调用,用于游戏物体做物理操作(移动,旋转等),不受渲染影响,刷新频率为0.02s一次。时间可改变,不建议这样做。
private void FixedUpdate()
{
    Debug,log(Time.time);
}

-----------------------------游戏逻辑--------------------------------------

执行时机:渲染帧执行,执行间隔不固定,适用于处理游戏逻辑。
//Update 
private void Update()
{
    
}
输入事件:
OnMouseEnter 鼠标移入
//鼠标移入当前collider(碰撞器)时调用
OnMouseOver  鼠标经过:
//鼠标经过当前collider时调用
OnMouseExit  鼠标离开:
//鼠标离开当前collider时调用
OnMouseDown  鼠标摁下:
//鼠标摁下当前collider时调用
OnMouseUp    鼠标抬起:
//鼠标在当前collider上抬起时调用
场景渲染:
OnBecameVisible   当可见:
//当Mesh Renderer在任何相机上可见时调用
OnBecameInVisible 当不可见:
//当Mesh Renderer在任何相机上不可见时调用    
结束阶段
OnDisable 当不可用时:
//对象变为不可用时或者附属对象物体非激活状态时此函数被调用。
OnDestroy 当销毁:
//当脚本销毁或附属的游戏对象被销毁时候调用。
OnApplicationQuit 当程序结束:
//应用程序结束时候被调用