UGUI事件之Pointer指针事件

UGUI 事件命名空间
当我们需要使用 UGUI 中的事件的时候,需要在脚本内引入专有命名空间:
using UnityEngine.EventSystems;

----------------------------------
UI事件之Pointer指针事件
========================================================
1.指针事件介绍
指针:就是 PC 端的鼠标指针,以及移动端的触屏。
当我们在 PC 端移动鼠标与 UI 物体接触的时候,就会触发相应的指针事件。
比如说:
在很多 PC 端游戏的 UI 界面上,当你获得了一个新的物品,解锁了一个新的技
能的时候,你不知道它是什么,或者不知道它能干嘛。这个时候当你移动鼠标放
到该物品或者技能 UI 图标上,就会出现一个提示框,来给你介绍它是什么;当
你移开鼠标后,这个提示框就会消失。[见图]


在这个案例中,鼠标指针进入和离开,就是相应的指针事件。
----------------------------------
2.指针相关事件接口
1.五个指针相关事件接口
IPointerEnterHandler:指针进入事件处理器;一瞬间触发。
IPointerExitHandler:指针离开事件处理器;一瞬间触发。
IPointerDownHandler:指针按下事件处理器;一瞬间触发。
IPointerUpHandler:指针抬起事件处理器;一瞬间触发。
IPointerClickHandler:指针单击事件处理器;指针按下+抬起=单击
----------------------------------
2.事件接口扩展理解
Button 按钮组件和 Toggle 复选框组件,这两个组件都具备单击的功能,它们
的单击就是通过实现 IPointerClickHandler 这个接口实现的。[演示]


这些“事件接口”好比是“一个一个的机械零件”,而 UGUI 中的 UI 组件就是
这些零件拼接成的“机械成品”。在开发中我们也可以根据自己的功能需求,把
这些“机械零件”拿来,拼接实现自己的“机械成品”。
========================================================

using UnityEngine;
using UnityEngine.EventSystems;

public class PointEventDemo1 : MonoBehaviour ,IPointerEnterHandler,IPointerExitHandler,IPointerDownHandler,IPointerUpHandler,IPointerClickHandler
{

    //实现接口
    //点击(按下+抬起)
    void IPointerClickHandler.OnPointerClick(PointerEventData eventData)
    {
        print("OnPointerClick");
    }
    //按下
    void IPointerDownHandler.OnPointerDown(PointerEventData eventData)
    {
        print("OnPointerDown");
    }
    //抬起
    void IPointerUpHandler.OnPointerUp(PointerEventData eventData)
    {
        print("OnPointerUp");
    }
    //进入
    void IPointerEnterHandler.OnPointerEnter(PointerEventData eventData)
    {
        print("OnPointerEnter");
    }
    //离开
    void IPointerExitHandler.OnPointerExit(PointerEventData eventData)
    {
        print("OnPointerExit");
    }
}
原文地址:https://www.cnblogs.com/madinglin/p/8470838.html