using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
public class TestEventTrigger : MonoBehaviour
{
[SerializeField] private EventTrigger _evnetTrigger;
private void Start()
{
_evnetTrigger.triggers.Add(GeneratorEntry(EventTriggerType.PointerDown, OnPointerDownEventHandle));
_evnetTrigger.triggers.Add(GeneratorEntry(EventTriggerType.Drag, OnDragEventHandle));
}
private void OnPointerDownEventHandle(BaseEventData eventData)
{
Debug.Log("点击了Image");
}
private void OnDragEventHandle(BaseEventData baseEventData)
{
PointerEventData pointerEventData = (PointerEventData)baseEventData;
Debug.Log(pointerEventData.delta);
}
private EventTrigger.Entry GeneratorEntry(EventTriggerType eventTriggerType,UnityAction<BaseEventData> callBack)
{
EventTrigger.TriggerEvent triggerEvent = new EventTrigger.TriggerEvent();
triggerEvent.AddListener(callBack);
return new EventTrigger.Entry() { eventID = eventTriggerType, callback = triggerEvent };
}
}
Unity如何使用代码给EventTrigger添加触发事件?
最新推荐文章于 2024-07-04 10:10:29 发布