创新项目实训学习笔记-Unity-4

创新项目实训学习笔记-Unity-3

UI的学习和使用

了解Canvas和EventSystem

上一篇博客中我们介绍了unity中的UI部分中十分重要的物体,Canvas。本篇博客里我将为大家介绍,另一个物体EventSystem。

EventSystem

与之前一样,我们点选到EventSystem物体,观察其组件。
创新项目实训学习笔记-Unity-4
相比于Canvas,EventSystem自带的组件相对简单,除了我们熟知的transform组件外,只有两个我们比较陌生的组件

  • EventSystem
    从英文我们不难看出,事件系统,顾名思义,用于管理事件的发生(比如鼠标事件等)。
    通过学习,我们了解到,EventSystem组件主要负责处理输入、射线投射以及发送事件。一个场景中只能有一个EventSystem组件,并且需要BaseInputModule类型组件的协助才能工作。而下文中即将提到的Standalone Input Module就是BaseInputModule类型组件。
  • Standalone Input Module
    上文中提到的BaseInputModule是一个基类模块,负责发送输入事件(点击、拖拽、选中等)到具体对象。而继承自BaseInputModule模块的Standalone Input Module组件是系统提供的标准输入模块。
  • 隐藏组件
    除了以上两个组件,还有一个很重要的组件通过EventSystem对象我们看不到,它是BaseRaycaster组件。BaseRaycaster也是一个基类,前面说的输入模块要检测到鼠标事件必须有射线投射组件才能确定目标对象。系统实现的射线投射类组件有PhysicsRaycaster, Physics2DRaycaster, GraphicRaycaster。这个模块也是可以自己继承BaseRaycaster实现个性化定制。
    隐藏组件部分引用自该博客

总的来说,EventSystem负责管理,BaseInputModule负责输入,BaseRaycaster负责确定目标对象,目标对象负责接收事件并处理,然后一个完整的事件系统就有了。