EventTrigger组件,代码注册事件

EventTrigger组件类在UnityEngine.EventSystems命名空间中

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using UnityEngine.Events;

public Image img;

void Start () {
    EventTrigger trigger = img.GetComponent<EventTrigger>();
    trigger.triggers = new List<EventTrigger.Entry>();
    EventTrigger.Entry entry = new EventTrigger.Entry();
    entry.eventID = EventTriggerType.PointerClick;
    UnityAction<BaseEventData> action = new UnityAction<BaseEventData>(OnImageClick);
    entry.callback.AddListener(action);
    trigger.triggers.Add(entry);
}

private void OnImageClick(BaseEventData data)
{
    Debug.Log("图片点击");
}

可以看出,EventTrigger可以有一个List的触发器,每一个触发器Entry都有它的类型eventID,和被触发后的回调方法callback

回调方法是一个unity的委托方法(在UnityEngine.Events命名空间),参数必须是BaseEventData


首页 我的博客
粤ICP备17103704号