简介
Unity脚本从创建到销毁的全过程
脚本生命周期流程图
简单的生命周期
Awake -> OnEable -> Start -> FixedUpdate -> Update -> LateUpdate -> OnGUI -> OnDisable -> OnDestroy
---- 初始阶段 ----
Reset
当拖动脚本到组件栏的时候,还有物体被reset的时候会调用
Awake
脚本挂载在物体上,物体载入时立即调用一次且只执行一次,常用于游戏开始前进行初始化(无论当前组件是否启用)
OnEnable
每当脚本对象启用时调用(可重复调用)
Start
脚本挂载在物体上,物体载入且脚本对象启用时被调1次
---- 物理部分 ----
FixedUpdate
脚本启用后,固定时间被调用,适用于对游戏对象做物理操作,跟物理相关的
OnCollisionXX 碰撞
执行条件:挂载脚本的对象必须有Rigidbody和Collider,且和另一个Collider物体发生接触
OnTriggerXXX 触发
当满足触发条件时调用。
OnControllerColliderHit
当控制器移动时与碰撞体发生碰撞时调用
---- 输入事件 ----
OnMouseEnter
鼠标移入到当前Collider或GUI控件时调用
OnMouseOver
鼠标经过当前Collider或GUI控件时调用
OnMouseExit
鼠标离开当前Collider或GUI控件时调用
OnMouseDown
鼠标按下当前Collider或GUI控件时调用
OnMouseUp
鼠标在当前Collider上抬起时调用
---- 游戏逻辑 ----
Update
脚本启用后,每次渲染场景时调用,频率与设备性能及渲染量有关
LateUpdate
在 Update 函数被调用后执行,适用于跟随逻辑
---- 场景渲染 ----
OnBecameVisible
当 Mesh Renderer 在任何相机上可见时调用
OnBecameInvisible
当 Mesh Renderer 在任何相机上都不可见时调用
---- 结束阶段 ----
OnGUI
渲染和处理OnGUI事件
OnDisable
当前对象不可用或非激活状态时被调用
OnDestroy
当脚本销毁或附属的游戏对象被销毁时被调用
OnApplicationQuit
应用程序退出时被调用