目录
触发概念
在碰撞体中,我们需要判断两个物体是否撞在一起了,是为了避免物体穿模。
但是很多时候我们并不需要游戏物体发生碰撞,比如赛车游戏中,我们需要知道什么时候玩家到达了终点,用来作为胜利或计时的依据。或者传送门,玩家进入后可以传送,但是我们并不需要真的和玩家发生碰撞
设置触发
并没有所谓的触发体,只是在碰撞体的基础上创建的
我们只需要在碰撞体上勾选IsTrigger (是触发器)即可
注意:设置触发后这个游戏物体并不具备“物理边缘”,任何游戏物体都可以穿过它
触发事件:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class chufa : MonoBehaviour
{
//触发进入
private void OnTriggerEnter2D(Collider2D collision)
{
print("触发进入");
}
//触发退出
private void OnTriggerExit2D(Collider2D collision)
{
}
//触发中
private void OnTriggerStay2D(Collider2D collision)
{
}
}
重要知识
1.双方都没有碰撞体和刚体,是绝对不可能发生 触发事件(函数)的,上方的三个函数
2.双方都有碰撞体和刚体,可以发生触发事件
3.一方有刚体和碰撞体,另外一方只有碰撞体(无论是哪一 方,双方都可以进入触发事件)
4.双方都没有刚体,无法进入触发事件