每个触摸事件都会创建一个包含所有相关信息的事件。比如说每一个组件Button,Image,或者是其他的Text等等组件,当我们鼠标点击或者按下或者是移出都是属于事件。
共有六个接口:
IPointerDownHandler:当鼠标按下
IPointerUpHandler:当鼠标抬起
IPointerClickHandler:当鼠标点击
IPointerMoveHandler:当鼠标在当前物体上移动
IPointerEnterHandler:当鼠标进入
IPointerExitHandler:按鼠标移出
当需要哪个的时候就直接实现接口。
using UnityEngine;
using UnityEngine.EventSystems;
public class IPointerEvents : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerClickHandler, IPointerMoveHandler, IPointerEnterHandler, IPointerExitHandler
{
public void OnPointerClick(PointerEventData eventData)
{
Debug.Log("OnPointerClick:" + eventData.ToString());
}
public void OnPointerDown(PointerEventData eventData)
{
Debug.Log("OnPointerDown:" + eventData.ToString());
}
public void OnPointerEnter(PointerEventData eventData)
{
Debug.Log("OnPointerEnter:" + eventData.ToString());
}
public void OnPointerExit(PointerEventData eventData)
{
Debug.Log("OnPointerExit:" + eventData.ToString());
}
public void OnPointerMove(PointerEventData eventData)
{
Debug.Log("OnPointerMove:" + eventData.ToString());
}
public void OnPointerUp(PointerEventData eventData)
{
Debug.Log("OnPointerUp:" + eventData.ToString());
}
}
使用起来也很简单,直接挂载到需要鼠标检查的物体上就可以了。
当我们挂载到Button的时候就检测鼠标是否对Button进行交互,同样的挂载到Text中就检测Text和鼠标的交互。