Unity5脚本事件函数及其执行顺序

脚本函数

编辑器相关函数

Reset:当脚本附加到GameObject上或者脚本的右键菜单项里选择了“Reset”命令的时候调用此函数。
OnValidate:脚本被加载或则值被改变在inspector中时调用

初始化函数

Awake:此函数在脚本附加到GameObject对象上且此对象是被激活的的时候调用。并且是在所有Start函数调用之前调用。但是要特殊说明的是,就算挂的脚本没有被启用此函数也会调用。
OnEnable:脚本对象被激活的时候。
Start:在所有的Update函数调用之前调用。

物理相关函数

FixedUpdate:物理更函数函数,一帧中可能调用几次
OnTriggerEnter:进入触发器(勾选了IsTrigger的Collider)时触发
OnTriggerEnter2D:进入2D触发器(勾选了IsTrigger的Collider)时触发
OnTriggerExit:离开触发器(勾选了IsTrigger的Collider)时触发
OnTriggerExit2D:离开2D触发器(勾选了IsTrigger的Collider)时触发
OnTriggerStay:在触发器里(勾选了IsTrigger的Collider)时触发
OnTriggerStay2D:在2D触发器里(勾选了IsTrigger的Collider)时触发

OnCollisionEnter:进入碰撞器(Collider)时触发
OnCollisionEnter2D:进入2D碰撞器(Collider)时触发
OnCollisionExit:离开碰撞器(Collider)时触发
OnCollisionExit2D:离开2D碰撞器(Collider)时触发
OnCollisionStay:在碰撞器里(Collider)时触发
OnCollisionStay2D:在2D碰撞器(Collider)时触发

输入相关函数

OnMouseDown:鼠标在GUIElement或Collider上按下时调用
OnMouseDrag:鼠标在GUIElement或Collider上拖拽时调用
OnMouseEnter:鼠标进入GUIElement或Collider时调用
OnMouseExit:鼠标离开GUIElement或Collider时调用
OnMouseOver:鼠标悬浮在GUIElement或Collider上时调用
OnMouseUp:鼠标从GUIElement或Collider弹起时调用
OnMouseUpAsButton:鼠标在同一个GUIElement或Collider上按下喝弹起时调用,也就是单击一GUIElement或Collider时。

游戏逻辑相关函数

Update:游戏逻辑的更新函数
LateUpdate:所有Update函数调用后调用的更新函数

渲染相关函数

OnPreCull:在执行剔除之前执行的函数
OnBecameVisible:此对象从隐藏到显示时调用
OnBecameInvisible:此对象从显示到隐藏时调用
OnWillRenderObject:将要渲染此对象时调用
OnPreRender:渲染场景之前
OnRenderObject:所有常规的渲染结束后调用
OnPostRender:渲染完整个场景后调用
OnRenderImage:场景渲染完后调用
OnGUI:执行UI的渲染,一帧中可能调用几次
OnDrawGizmos: 执行场景视图中对象的标示图标的绘制
OnDrawGizmosSelected:执行场景视图中选中对象的标示图标的绘制

应用程序相关函数

OnApplicationFocus:应用程序成为当前的应用时调用
OnApplicationPause:当应用程序切入后台暂停时调用
OnApplicationQuit:应用程序退出时调用

其他函数

OnDisable:脚本对象被禁用时调用
OnDestory:脚本对象被销毁的时候调用
OnLevelWasLoaded:一个新的场景加载时调用

协程

yield:延缓到下一帧执行
yield WaitForSeconds:这一帧执行完后,等待指定的延迟到
yield WaitForFixedUpdate:所有的固定更新完成后
yield WWW:www下载完成
yield StartCoroutine 等待一个自定的函数完成

脚本生命周期流程图

这里写图片描述

参考文献

Unity手册:http://docs.unity3d.com/500/Documentation/Manual/ExecutionOrder.html
API文档:http://docs.unity3d.com/500/Documentation/ScriptReference/MonoBehaviour.html

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值