unity 常用的生命周期函数
编辑器->初始化->物理系统->输入事件->游戏逻辑->场景渲染->GUI渲染->物体**或禁用->销毁物体->应用结束
常用的生命周期函数
Awake():唤醒事件,游戏一开始运行就执行,只执行一次。
OnEnable():启用事件,只执行一次。当脚本组件被启用的时候执行一次。
Start():开始事件,执行一次。
FixedUpdate():固定更新事件,执行N次,0.02秒执行一次。所有物理组件相关的更新都在这个事件中处理。
Update():更新事件,执行N次,每帧执行一次。
LateUpdate():稍后更新事件,执行N次,在 Update() 事件执行完毕后再执行。
OnGUI():GUI渲染事件,执行N次,执行的次数是 Update() 事件的两倍。
OnDisable():禁用事件,执行一次。在 OnDestroy() 事件前执行。或者当该脚本组件被“禁用”后,也会触发该事件。
OnDestroy():销毁事件,执行一次。当脚本所挂载的游戏物体被销毁时执行。
生命周期函数分类汇总
一、刷新函数
Update()函数
当MonoBehaviour启用时,其Update在每一帧被调用。
LateUpdate()函数
当Behaviour启用时,其LateUpdate在每一帧被调用。
FixedUpdate()函数
当MonoBehaviour启用时,其 固定时间调用一次
二、启动函数
Awake()函数
当一个脚本实例被载入时Awake被调用。Awake()函数在脚本实例被载入时就被调用,不管游戏对象是否被**都会被调用,在整个游戏当中只会被调用一次和构造函数差不多,运行于Start()函数之前,Awake()主要被用于初始化游戏状态或变量。
Start() Start仅在Update函数第一次被调用前调用。
Reset() 重置为默认值。
三、交互函数
OnMouseXXX()函数
1.OnMouseEnter()
当鼠标进入到Collider(碰撞体)中时调用OnMouseEnter
2.OnMouseOver()
当鼠标悬浮在Collider(碰撞体)上时调用 OnMouseOver 。
3.OnMouseExit()
当鼠标移出Collider(碰撞体)上时调用OnMouseExit
4.OnMouseDown()
当鼠标在Collider(碰撞体)上点击时调OnMouseDown。
5.OnMouseUp()
当用户释放鼠标按钮时调用OnMouseUp。OnMouseUp只调用在按下的同一物体上。此函数在iPhone上无效。
6.OnMouseDrag()
当鼠标拖拽时调用OnMouseDrag
OnTriggerXXX函数
1.OnTriggerEnter () 进入触发器
2.OnTriggerExit () 退出触发器
3OnTriggerStay() 逗留触发器
OnCollisionXXX函数
1.OnCollisionEnter 当进入碰撞
2.OnCollisionExit 当退出碰撞
3.OnCollisionStay 当逗留碰撞
OnEnable()函数 当可用
OnDisable()函数 当不可用
OnDestroy()函数 当销毁
OnGUI()函数 当界面
OnControllerColliderHit() 当控制碰撞器碰撞
OnJointBreak() 当关节断开
OnParticleCollision()当碰撞粒子
OnBecameVisible() 当可见
OnBecameInvisible() 当不可见
OnLevelWasLoaded() 当关卡载入
OnDrawGizmosSelected()当选择时绘制Gizmos
OnDrawGizmos()当绘制Gizmos
OnApplicationPause() 当程序暂停
OnApplicationFocus() 当程序焦点
OnApplicationQuit() 当程序暂停
OnPlayerConnected() 当玩家成功连接
OnServerInitialized() 当服务器初始化
OnConnectedToServer() 当连接到服务器
OnDisconnectedFromServer() 当从服务器断开连接
OnPlayerDisconnected() 当玩家断开连接
OnFailedToConnect() 当连接失败
OnFailedToConnect() 当连接失败
OnMasterServerEvent() 当主服务事件
OnNetworkInstantiate() 当网络实例
OnPreCull() 当消隐之前
OnPreRender() 当渲染之前
OnPostRender() 当完成渲染
OnRenderImage()函数当渲染图片
OnRenderObject() 当渲染物体
OnWillRenderObject() 当渲染物体之前