本节要点
#1.触发事件简介
1.触发器
将碰撞体组件属性面板上的“Is Trigger”选项选中,当前的游戏物体的碰撞体
就变成了触发器。
移动的刚体物体会穿透碰撞体勾选了“Is Trigger”的物体。
2.触发事件
当一个用刚体控制的物体进入到另外一个物体的触发器范围内,就是触发事件。
触发用途:不与目标物体发生直接的碰撞(接触),而是只要进入目标物体的“触
发范围”就能执行某些特定操作。
#2.触发事件监测方法
1.OnTriggerEnter(Collider)
当进入触发范围时开始时调用,只会调用该方法一次。
2.OnTriggerExit(Collider)
当离开触发范围时开始调用,只会调用该方法一次。
3.OnTriggerStay(Collider)
在触发范围内,会持续调用该方法。
4.Collider 参数
碰撞体,一个类。作用:用于传递触发信息。
Collider.gameObject 属性,进入触发范围内的目标物体的引用。
gameObject.name 属性,当前物体的名字。
场景视图
关键代码
public class TriggerCube : MonoBehaviour {
//谁触发了我?
//进入触发器范围内执行一次
void OnTriggerEnter(Collider coll) {
Debug.Log("Cube Enter"+coll.gameObject.name);
}
//离开触发器范围后执行一次
void OnTriggerExit(Collider coll) {
Debug.Log("Cube Exit"+coll.gameObject.name);
}
//进入触发器范围内持续发生的事件
void OnTriggerStay(Collider coll) {
Debug.Log("Cube Stay"+coll.gameObject.name);
}
}
小结
自动门.gif
Unity API.png
网友评论