Unity基础.003MonoBehavior常用事件函数
2017-04-30 20:30
281 查看
MonoBehaviour是属于UnityEngine命名空间下的类,继承于Behaviour类,Behaviour类继承自Component类。
它是每个脚本的基类,在C#中,脚本需要显式继承MonoBehaviour,在这个类之中,有大量的Messages(可重写函数)用于处理各种事件响应,包括启动、刷新、物理、输入渲染等等。
MonoBehaviour Messages(Mono行为的事件函数)【详见:官方Unity手册】
启动事件函数
Reset:第一次加载或者在检视窗口中Reset时调用,重置为默认值
Awake:脚本实例被载入时调用
Start:第一次Update之前被调用
刷新事件函数
FixedUpate、Update、LateUpdate
下面是一些关于交互的事件函数
常用的物理交互包括
OnTriggerEnter,OnTriggerExit,OnTriggerStay
OnCollisionEnter,OnCollision Exit,OnCollisionStay(下面会详细讲解)
输入事件函数
OnMouseEnter,OnMouseOver,OnMouseExit,OnMouseDown等
渲染事件函数
OnGui,OnDrawGizmos,OnDrawGizmosSelected,OnPreCull等
游戏对象事件函数
OnEnable:对象可用或激活时会被调用
OnDisable:对象不可用或非激活时会被调用
OnDestroy:销毁Mono行为之前时,会被调用
场景事件函数:
OnLevelWasLoaded:当一个新关卡被载入时此函数被调用
下面详细介绍一下物理引擎与碰触检测
Collider 碰撞器,能够进行碰撞检测
当在Collider组件中勾选Trigger时,该组件将不会再发生物理碰撞,只会在碰撞时进行检测
Rigibody 刚体,当碰撞的一方有该组件时才会产生碰撞效果
三种碰撞器:
Static Collider(静态)
Rigidbody Collider(刚体)
Kinematic Rigidbody Collider(运动学刚体)
注:Collider组件中勾选Is Kinematice后,该组件不受物理控制,只能通过transform来控制
三种触发碰撞器:
Static Trigger Collider(静态)
Rigidbody Trigger Collider(刚体)
Kinematic Rigidbody Trigger Collider(运动学刚体)
碰撞后有碰撞检测,发出碰撞信息,根据碰撞的进入、停留、离开会分别触发这3个事件函数:
——OnCollisionEnter,OnCollision Exit,OnCollisionStay
有碰撞信息的条件为,主动碰撞的一方有刚体组件,两者都有Collider组件,且都没有勾选Trigger。
碰撞后没有碰撞信息,有触发信息,根据碰撞的进入、停留、离开会分别触发这3个事件函数:
——OnTriggerEnter,OnTriggerExit,OnTriggerStay
有触发信息的条件为,碰撞的两者都有Collider组件,至少有一个勾选了Trigger组件,至少有一个刚体组件。
它是每个脚本的基类,在C#中,脚本需要显式继承MonoBehaviour,在这个类之中,有大量的Messages(可重写函数)用于处理各种事件响应,包括启动、刷新、物理、输入渲染等等。
MonoBehaviour Messages(Mono行为的事件函数)【详见:官方Unity手册】
启动事件函数
Reset:第一次加载或者在检视窗口中Reset时调用,重置为默认值
Awake:脚本实例被载入时调用
Start:第一次Update之前被调用
刷新事件函数
FixedUpate、Update、LateUpdate
下面是一些关于交互的事件函数
常用的物理交互包括
OnTriggerEnter,OnTriggerExit,OnTriggerStay
OnCollisionEnter,OnCollision Exit,OnCollisionStay(下面会详细讲解)
输入事件函数
OnMouseEnter,OnMouseOver,OnMouseExit,OnMouseDown等
渲染事件函数
OnGui,OnDrawGizmos,OnDrawGizmosSelected,OnPreCull等
游戏对象事件函数
OnEnable:对象可用或激活时会被调用
OnDisable:对象不可用或非激活时会被调用
OnDestroy:销毁Mono行为之前时,会被调用
场景事件函数:
OnLevelWasLoaded:当一个新关卡被载入时此函数被调用
下面详细介绍一下物理引擎与碰触检测
Collider 碰撞器,能够进行碰撞检测
当在Collider组件中勾选Trigger时,该组件将不会再发生物理碰撞,只会在碰撞时进行检测
Rigibody 刚体,当碰撞的一方有该组件时才会产生碰撞效果
三种碰撞器:
Static Collider(静态)
Rigidbody Collider(刚体)
Kinematic Rigidbody Collider(运动学刚体)
注:Collider组件中勾选Is Kinematice后,该组件不受物理控制,只能通过transform来控制
三种触发碰撞器:
Static Trigger Collider(静态)
Rigidbody Trigger Collider(刚体)
Kinematic Rigidbody Trigger Collider(运动学刚体)
碰撞后有碰撞检测,发出碰撞信息,根据碰撞的进入、停留、离开会分别触发这3个事件函数:
——OnCollisionEnter,OnCollision Exit,OnCollisionStay
有碰撞信息的条件为,主动碰撞的一方有刚体组件,两者都有Collider组件,且都没有勾选Trigger。
碰撞后没有碰撞信息,有触发信息,根据碰撞的进入、停留、离开会分别触发这3个事件函数:
——OnTriggerEnter,OnTriggerExit,OnTriggerStay
有触发信息的条件为,碰撞的两者都有Collider组件,至少有一个勾选了Trigger组件,至少有一个刚体组件。
相关文章推荐
- unity基础开发----常用代码鼠标滑动,触摸事件
- 【基础】unity:鼠标的常用事件
- unity常用事件函数(转)
- unity常用事件响应函数
- Unity常用事件函数与变量
- 部分Dojo常用函数简介(一)——Javascript基础扩展函数
- 部分Dojo常用函数简介(五)——事件处理以及Ajax I/O函数扩展
- delphi常用函数、属性、事件参考手册 (转)
- delphi常用函数、属性、事件参考手册 (转)
- MO中几个常用消息事件对应的函数说明
- Delphi 基础(1)常用函数
- 部分Dojo常用函数简介(一)——Javascript基础扩展函数
- 基础的prototype.js常用函数及其用法
- .NET基础扩展系列-如何获取事件的响应函数列表
- SQL基础3——常用函数
- 【C#基础】之WinForm窗体常用控件的属性、方法及事件简介
- 部分Dojo常用函数简介(五)——事件处理以及Ajax I/O函数扩展
- oracle基础(数据类型、常用函数)
- 基础的prototype.js常用函数及其用法
- ACM常用基础(二)常用函数