Unity中使用EventTrigger點選場景中的物體
突然發現,原來以為做一遍以為就不會忘記的東西慢慢就忘了,看來隨著年齡的增大記憶力還是慢慢步入從前 了。那邊勤動手吧,把一些需要的東西記下來。
今天使用unity的EventTrigger元件,實現點選3D物體。
使用Unity版本:5.4
按照記憶中的方法首先新增事件:
EventTrigger et = gameObject.GetComponent<EventTrigger>();
if (et == null)
{
et = gameObject.AddComponent<EventTrigger>();
}
et.triggers = new List<EventTrigger.Entry>();
EventTrigger.Entry enter = new EventTrigger.Entry();
enter.eventID = EventTriggerType.PointerDown;
enter.callback = new EventTrigger.TriggerEvent();
UnityAction<BaseEventData> callback = new UnityAction<BaseEventData>(OnPointerDown);
enter.callback.AddListener(callback);
et.triggers.Add(enter);
然後我們在OnPointerDown方法中加一個輸出,方便測試:
void OnPointerDown(BaseEventData data)
{
Debug.LogError("OnPointerDown");
}
面板上已經有EventSystem,然而經過測試,點選無效,測試點選UI沒問題
此時才發現是相機上漏加Physics Raycaster指令碼,新增之後,點選測試正常。
看來以後還得多動手,需要的便記下來。