• 您的(de)位置(zhì):首頁(yè) > 新聞動態 > Unity3D

    UNITY3D處(chù)理碰撞事(shì)件的封裝類

    2018/9/22      點擊:
      Unity的物(wù)理係統(tǒng),處理碰撞事件,需要自行實現MonoBehaviour中的void OnTriggerEnter(Collider)等方法,MonoBehaviour的生命周期方法,有些不(bú)太常(cháng)用,可能會(huì)經常不記得、或者打錯名字,調試還(hái)不容易找(zhǎo)到原因,很不方便。  
    我們可以把常用接口封(fēng)裝起來,讓需要實現碰(pèng)撞事件的類,繼承已經封裝好的類即可。
    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 { };
    }
    }

    自愉色色,亚洲色孩,jk无遮拦,日日夜夜7799天天综合,999夜夜,7799天天综合天天综合网精品视频,日日夜夜精品视频7799,天天综合7799精品影视