unity 常用的生命周期函数

生命周期函数:需要继承 MonoBehaviour 类才能使用。生命周期函数全部都是由系统定义好的,系统会自动调用,且调用顺序和我们在代码里面的书写顺序无关。

unity 常用的生命周期函数的函数名和功能类似,懂得其英语含义一般就可以知道其功能,及见名知意,与我们命名函数名一样。

一些重要的英文及其含义

collider碰撞体 trigger触发器 update更新 behaviour行为 Awake唤醒 fixed固定的 reset重置 enable 使能够 destroy销毁 disable 使不能够 exit 退出 render给与(渲染) collision碰撞gizmos 小发明 drag 拖拽renderer渲染器 pause 暂停 Cull精选 Initialized 已初始化的

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() 当渲染物体之前

你可能感兴趣的:(unity 常用的生命周期函数)