Unity UGUI技巧 之 EventTrigger鼠标事件使用一
1、EventTrigger:
1)功能简述
class in UnityEngine.EventSystems
Inherits from:MonoBehaviour
Implements interfaces:IBeginDragHandler, ICancelHandler, IDeselectHandler, IDragHandler, IDropHandler, IEndDragHandler, IEventSystemHandler, IInitializePotentialDragHandler, IMoveHandler, IPointerClickHandler, IPointerDownHandler, IPointerEnterHandler, IPointerExitHandler, IPointerUpHandler, IScrollHandler, ISelectHandler, ISubmitHandler, IUpdateSelectedHandler.
Receives events from the EventSystem and calls registered functions for each event.
The EventTrigger can be used to specify functions you wish to be called for each EventSystem event. You can assign multiple functions to a single event and whenever the EventTrigger receives that event it will call those functions in the order they were provided.NOTE: Attaching this component to a GameObject will make that object intercept ALL events, and no events will propagate to parent objects.
1、打开Unity,新建一个工程,具体如下图

2、在场景中,添加一个“Image”,并给“Image”添加一个“EventTrigger”组件,具体如下图

3、在工程中,新建一个脚本“EventTriggerTest”,双击脚本或者右键“Open C# Project”打开脚本,具体如下图

4、在“EventTriggerTest”脚本上编辑代码,首先设置变量获取“Image”,然后设置鼠标进入图片变红,鼠标退出颜色变白,鼠标按下图片缩小,鼠标抬起图片变大,鼠标点击打印信息五个函数,具体代码和代码说明如下图

5、“EventTriggerTest”脚本具体内容如下 :
using UnityEngine;
using UnityEngine.UI;
public class EventTriggerTest : MonoBehaviour {
public Image image;
public void MouseEnter() {
image.color = Color.red;
Debug.Log ("MouseEnter");
}
public void MouseExit() {
image.color = Color.white;
Debug.Log ("MouseExit");
}
public void MouseDown() {
image.transform.localScale = 0.8f * Vector3.one;
Debug.Log ("MouseDown");
}
public void MouseUp() {
image.transform.localScale = Vector3.one;
Debug.Log ("MouseUp");
}
public void MouseClick() {
Debug.Log ("MouseClick");
}
}
6、脚本编译正确,回到Unity界面,在场景中,新建一个“GameObject”,把脚本“QuitGame”赋给“GameObject”,具体如下图

7、选中“Image”的“EventTrigger”对应添加鼠标的进入退出按下抬起点击事件,并绑定对应函数,具体如下图

8、运行场景,对图片进行鼠标的进入退出按下抬起点击事件,图片对应变化,控制台Console打印对应信息,具体如下图

9、到此,《Unity UGUI技巧 之 EventTrigger鼠标事件使用一》讲解结束,谢谢