1. 简介
UGUI 系统虽然提供了很多封装好的组件,但是要实现一些特定的功能还是显得非常有限,这时候就需要使用事件接口来完成UI功能的实现。
比如我们想实现鼠标移动到图片上时自动显示图片的文字介绍,一般思路会想到写个射线来检测。
但其实这样的检测UGUI已经替我们完成了,我们只需要实现检测到目标对象后所要执行的代码即可!
事件系统:UnityEngine.EventSystems;
UI 组件都是基于 UGUI 封装好的类和接口以及一些 Editor 文件来进行封装制作供开发者使用的,开发者利用这些封装好的工具,只需更专注于功能开发即可。
2. 事件系统的前置条件
2.1 使用该事件系统的条件
- 对象必须是 Canvas 的子对象;
- 对象必须有 Rect 范围;
- 鼠标的操作不分左键 中键 右键;
2.2 事件触发条件
-
对象或其子对象所附加的 UI 组件含有 Raycast Target 属性(为 true)
-
鼠标光标进入该对象的 Rect 范围时
2.3 事件系统的特殊情况
-
**若:**该对象实现事件接口,而其子对象所附加的 UI 组件含有 Raycast Target 属性且没有实现事件接口
**则:**只有该对象会触发事件,而其子对象不会触发事件 -
**当:**该对象和其子对象同时具有触发事件接口的条件时