UGUI事件之Pointer指针事件
UGUI 事件命名空间
当我们需要使用 UGUI 中的事件的时候,需要在脚本内引入专有命名空间:
using UnityEngine.EventSystems;
==================================
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");
}
}