UGUI的鼠標(biāo)事件

UGUI的鼠標(biāo)事件:EventTrigger

自己寫一個(gè)幫助類,便于調(diào)用(用回調(diào),對相應(yīng)鼠標(biāo)事件添加事件,方便書寫)

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.EventSystems;

/// <summary>

/// 鼠標(biāo)事件監(jiān)聽

/// </summary>

public class UIEventListener :? EventTrigger

{

? ? public delegate void PointerEventDelegate(PointerEventData eventData);

? ? public PointerEventDelegate PointerEnterEvent;

? ? public PointerEventDelegate PointerExitEvent;

? ? public PointerEventDelegate PointerClickEvent;

? ? public PointerEventDelegate PointerDownEvent;

? ? public PointerEventDelegate PointerUpEvent;

? ? public PointerEventDelegate BeginDragEvent;

? ? public PointerEventDelegate OnDragEvent;

? ? public PointerEventDelegate EndDragEvent;

? ? public static UIEventListener GetEventListener(GameObject item)

? ? {

? ? ? ? UIEventListener uIEvent = null;

? ? ? ? if (item != null)

? ? ? ? {

? ? ? ? ? ? uIEvent = item.AddComponent<UIEventListener>();

? ? ? ? }

? ? ? ? return uIEvent;

? ? }

? ? /// <summary>

? ? /// 鼠標(biāo)劃入

? ? /// </summary>

? ? /// <param name="eventData"></param>

? ? public override void OnPointerEnter(PointerEventData eventData)

? ? {

? ? ? ? base.OnPointerEnter(eventData);

? ? ? ? PointerEnterEvent?.Invoke(eventData);

? ? }

? ? /// <summary>

? ? /// 鼠標(biāo)移出

? ? /// </summary>

? ? /// <param name="eventData"></param>

? ? public override void OnPointerExit(PointerEventData eventData)

? ? {

? ? ? ? base.OnPointerExit(eventData);

? ? ? ? PointerExitEvent?.Invoke(eventData);

? ? }

? ? /// <summary>

? ? /// 鼠標(biāo)點(diǎn)擊

? ? /// </summary>

? ? /// <param name="eventData"></param>

? ? public override void OnPointerClick(PointerEventData eventData)

? ? {

? ? ? ? base.OnPointerClick(eventData);

? ? ? ? PointerClickEvent?.Invoke(eventData);

? ? }

? ? /// <summary>

? ? /// 鼠標(biāo)抬起

? ? /// </summary>

? ? /// <param name="eventData"></param>

? ? public override void OnPointerDown(PointerEventData eventData)

? ? {

? ? ? ? base.OnPointerDown(eventData);

? ? ? ? PointerDownEvent?.Invoke(eventData);

? ? }

? ? /// <summary>

? ? /// 鼠標(biāo)抬起

? ? /// </summary>

? ? /// <param name="eventData"></param>

? ? public override void OnPointerUp(PointerEventData eventData)

? ? {

? ? ? ? base.OnPointerUp(eventData);

? ? ? ? PointerUpEvent?.Invoke(eventData);

? ? }

? ? /// <summary>

? ? /// 開始拖拽

? ? /// </summary>

? ? /// <param name="eventData"></param>

? ? public override void OnBeginDrag(PointerEventData eventData)

? ? {

? ? ? ? base.OnBeginDrag(eventData);

? ? ? ? BeginDragEvent?.Invoke(eventData);

? ? }

? ? /// <summary>

? ? /// 拖拽中

? ? /// </summary>

? ? /// <param name="eventData"></param>

? ? public override void OnDrag(PointerEventData eventData)

? ? {

? ? ? ? base.OnDrag(eventData);

? ? ? ? OnDragEvent?.Invoke(eventData);

? ? }

? ? /// <summary>

? ? /// 拖拽結(jié)束

? ? /// </summary>

? ? /// <param name="eventData"></param>

? ? public override void OnEndDrag(PointerEventData eventData)

? ? {

? ? ? ? base.OnEndDrag(eventData);

? ? ? ? EndDragEvent?.Invoke(eventData);

? ? }

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容