您的位置:首页 > 移动开发 > Unity3D

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组件,至少有一个刚体组件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity MonoBehaviour