老公原谅我在老公面前,小情侣在废弃楼房里约会电视剧,大赛每日一赛吃瓜爆料

  • 您的位置:首页 > 新闻动态 > Unity3D

    UNITY3D处理碰撞事件的封装类

    2018/9/22??????点击:
      Unity的物理系统,处理碰撞事件,需要自行实现MonoBehaviour中的void OnTriggerEnter(Collider)等方法,MonoBehaviour的生命周期方法,有些不太常用,可能会经常不记得、或者打错名字,调试还不容易找到原因,很不方便。  
    我们可以把常用接口封装起来,让需要实现碰撞事件的类,继承已经封装好的类即可。
    using System;
    using UnityEngine;
    [RequireComponent(typeof(Collider))]
    public class ColliderListener : MonoBehaviour {
    public ActiononTriggerEnter = delegate { };
    public ActiononTriggerStay = delegate { };
    public ActiononTriggerExit = delegate { };
    public ActiononCollisionEnter = delegate { };
    public ActiononCollisionStay = delegate { };
    public ActiononCollisionExit = delegate { };
    private void OnTriggerEnter(Collider other) {
    onTriggerEnter(other);
    }
    private void OnTriggerStay(Collider other) {
    onTriggerStay(other);
    }
    private void OnTriggerExit(Collider other) {
    onTriggerExit(other);
    }
    private void OnCollisionEnter(Collision other) {
    onCollisionEnter(other);
    }
    private void OnCollisionStay(Collision other) {
    onCollisionStay(other);
    }
    private void OnCollisionExit(Collision other) {
    onCollisionExit(other);
    }
    public virtual void Clear() {
    onTriggerEnter = delegate { };
    onTriggerStay = delegate { };
    onTriggerExit = delegate { };
    onCollisionEnter = delegate { };
    onCollisionStay = delegate { };
    onCollisionExit = delegate { };
    }
    }

    主站蜘蛛池模板: 江门市| 常熟市| 北宁市| 金乡县| 张掖市| 通化县| 朔州市| 英超| 连山| 民乐县| 清镇市| 攀枝花市| 太仓市| 潍坊市| 宁明县| 邵东县| 潢川县| 吉首市| 贡觉县| 凉山| 西乌珠穆沁旗| 阿拉善盟| 涡阳县| 西青区| 仪陇县| 泰兴市| 天津市| 宜宾市| 察雅县| 尼勒克县| 绥中县| 湘潭市| 广德县| 石台县| 浙江省| 宁陕县| 偃师市| 榆中县| 驻马店市| 琼中| 唐山市|