在 Unity3D 的 UGUI 中,常见的事件接口及使用方法如下:

  1. IPointerEnterHandler:当指针进入目标物体时调用。使用时,让脚本实现该接口,并在OnPointerEnter方法中编写逻辑。例如:

    using UnityEngine;
    using UnityEngine.EventSystems;
    public class PointerEnterExample : MonoBehaviour, IPointerEnterHandler
    {
        public void OnPointerEnter(PointerEventData eventData)
        {
            Debug.Log("指针进入了该物体");
        }
    }

  2. IPointerExitHandler:当指针离开目标物体时调用。类似地,实现接口并编写OnPointerExit方法逻辑。

    using UnityEngine;
    using UnityEngine.EventSystems;
    public class PointerExitExample : MonoBehaviour, IPointerExitHandler
    {
        public void OnPointerExit(PointerEventData eventData)
        {
            Debug.Log("指针离开了该物体");
        }
    }

  3. IPointerDownHandler:当指针在目标物体上按下时调用。实现OnPointerDown方法。

    using UnityEngine;
    using UnityEngine.EventSystems;
    public class PointerDownExample : MonoBehaviour, IPointerDownHandler
    {
        public void OnPointerDown(PointerEventData eventData)
        {
            Debug.Log("指针在该物体上按下");
        }
    }

  4. IPointerUpHandler:当指针在目标物体上抬起时调用。实现OnPointerUp方法。

  5. IBeginDragHandler:开始拖动目标物体时调用,实现OnBeginDrag方法。常用于可拖动 UI 元素。

  6. IDragHandler:拖动目标物体过程中持续调用,实现OnDrag方法。

  7. IEndDragHandler:结束拖动目标物体时调用,实现OnEndDrag方法。

  8. IScrollHandler:当鼠标滚轮滚动到目标物体时调用,实现OnScroll方法,常用于处理滚动条等。

  9. IUpdateSelectedHandler:当选中的 UI 元素更新时调用,实现OnUpdateSelected方法。

  10. ISelectHandler:当 UI 元素被选中时调用,实现OnSelect方法。

  11. IDeselectHandler:当 UI 元素取消选中时调用,实现OnDeselect方法。

  12. IButtonClickHandler:按钮点击时调用(一般直接用 Button 组件的 OnClick 事件更为常见,但也可通过实现此接口自定义逻辑),实现OnClick方法。


    注:unity 中IPointerUpHandler 与IPointerExitHandler效果一样吗?

  13. 在Unity中,`IPointerUpHandler`与`IPointerExitHandler`效果不一样。`IPointerUpHandler`是当指针在目标物体上抬起时调用,它主要关注的是指针在物体上按下后抬起这个操作。比如在制作一个按钮点击效果时,手指按下按钮触发`IPointerDownHandler`,手指抬起时触发`IPointerUpHandler`,可借此完成按钮点击相关逻辑。而`IPointerExitHandler`是当指针离开目标物体时调用,即使指针没有按下操作,只要移出物体范围就会触发。例如,当鼠标指针移到一个UI元素上显示提示信息,当指针离开该元素时隐藏提示信息,就可使用`IPointerExitHandler`。所以两者触发条件和应用场景不同,效果也就不一样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值