平时做项目的时候,如果项目中有UGUI,一般会用到button的监听事件,点击按钮即可调用指定的方法,但是对于其他的UI控件如Image就没有那么方便了,今天我就介绍一种Unity自带的UGUI事件监听的方法,需要用到一些接口。
前期准备:创建一个Image控件,将Listener.cs脚本挂载上去即可。
1.点击事件监听接口 【IPointerDownHandler、IPointerUpHandler】
IPointerDownHandler是用于监听指针按下的接口,IPointerUpHandler是用于监听指针弹起的接口,Listener类继承这两个接口之后必须要实现接口对应的方法,并在事件触发时调用该方法。如下:
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class Listener : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
public Text reminder;
public Image image;
public void OnPointerDown(PointerEventData eventData)
{
reminder.text = "点击:" + eventData.ToString();
image.color = new Color(160 / 255.0f, 255 / 255.0f, 160 / 255.0f);
Debug.Log("OnPointerDown(点击)");
}
public void OnPointerUp(PointerEventData eventData)
{
reminder.text = "抬起:" + eventData;
image.color = new Color(255 / 255.0f, 160 / 255.0f, 160 / 255.0f);
Debug.Log("OnPointerUp(抬起)");
}
}