UGUI-Events-Input Modules
Input Modules(输入模块)
输入模块是配置和自定义事件系统主要逻辑的地方。Unity 默认提供了两种输入模块(Input Modules),一种为独立平台(Standalone)设计,另一种为触控输入(Touch Input)设计。每个模块根据其配置接收并分发事件,行为符合预期。
输入模块是事件系统(Event System)中处理“业务逻辑”的地方。当事件系统启用时,它会检查附加了哪些输入模块,并将更新处理交由具体的模块负责。
输入模块被设计为可以根据你希望支持的输入系统进行扩展或修改。它们的目的是将特定硬件的输入(如触摸、操纵杆、鼠标、动作控制器等)映射成通过消息系统发送的事件。
内置的输入模块旨在支持常见的游戏配置,如触摸输入、控制器输入、键盘输入和鼠标输入。...
UGUI-Rich Text
Rich Text(富文本)
UI 元素和 Text Mesh(文本网格)的文本可以包含多种字体样式和字号。Rich Text(富文本) 同时被 UI 系统 和传统的 GUI 系统 所支持。Text、GUIStyle、GUIText 和 TextMesh 类都具有一个 Rich Text 设置,它会指示 Unity 在文本中查找 标记标签(markup tags) 。Debug.Log 函数也可以使用这些标记标签来增强代码的错误报告。标签本身不会显示,但它们表示对文本应用的样式更改。
Markup format(标记格式)
该标记系统受 HTML 启发,但并不打算完全兼容标准 HTML。基本的思想是:一个文本片段可以被一对匹配的标签括起来:
We are <b>n...
UGUI-Events-Messaging System
Messaging System(消息系统)
新的 UI 系统使用了一个消息系统,旨在取代 SendMessage。该系统完全基于 C#,并且旨在解决 SendMessage 存在的一些问题。这个系统通过使用可以在 MonoBehaviour 上实现的自定义接口来工作,以指示组件能够从消息系统接收回调。当发出调用时,会指定一个目标 GameObject;调用会在该 GameObject 上所有实现了指定接口的组件上执行。该消息系统允许传递自定义用户数据,并且可以指定事件在 GameObject 层级结构中传播的范围;也就是说,事件只在指定的 GameObject 上执行,或者也在其子对象和父对象上执行。
除此之外,消息框架还提供了辅助函数,用于搜索并查找实现了特定消息接口的 Gam...
UGUI-Events
Event System(事件系统)
Event System(事件系统)是一种根据输入(无论是键盘、鼠标、触摸还是自定义输入)向应用程序中的对象发送事件的机制。Event System 由一些组件协作组成,用于发送事件。
当你向一个 GameObject(游戏对象)添加 Event System(事件系统)组件时,你会注意到它本身没有暴露太多功能,这是因为 Event System 本身被设计为一个 管理器 ,用于协调 Event System 模块之间的通信。
Event System 的主要职责如下:
管理哪个 GameObject 被视为选中的对象
管理正在使用的 Input Module(输入模块)
管理 Raycasting(射线检测)(如果需要的话)...
UGUI-Auto Layout
Auto Layout(自动布局)
Rect Transform(矩形变换)布局系统足够灵活,能够处理多种不同类型的布局,并允许以完全自由的方式放置元素。然而,有时候可能需要更具结构性的一些方式。
Auto Layout System(自动布局系统)提供了一种在嵌套的布局组中放置元素的方法,例如: Horizontal Groups(水平组) 、Vertical Groups(垂直组) 或 Grids(网格) 。它还允许元素根据其包含的内容自动调整大小。例如,一个 Button(按钮)可以根据其文本内容加上一些填充动态调整尺寸,使其刚好适配。
Auto Layout System 是建立在基本的 Rect Transform 布局系统之上的。它可以选择性地应用于部分或全部元素。...
UGUI-Visual Components
Visual Components(可视组件)
随着 UI 系统的引入,Unity 添加了一些新的组件,用于实现 GUI(图形用户界面)相关的功能。本节将介绍可以创建的新组件的基础内容。
Text(文本)
Text 组件,也被称为 Label(标签),包含一个 Text(文本)区域用于输入将要显示的文本。你可以设置字体(Font)、字体样式(Font Style)、字体大小(Font Size),以及是否启用富文本功能(Rich Text)。
此外,还有文本对齐方式(Alignment)、水平和垂直溢出设置(Horizontal Overflow 和 Vertical Overflow),用于控制当文本超出矩形宽度或高度时的显示方式。Best Fit(最佳适配)选项可以让文...
UGUI-Interaction Components
Interaction Components(交互组件)
本节介绍 UI 系统中用于处理交互的组件,如鼠标或触摸事件,以及通过键盘或控制器进行的交互。
交互组件本身是不可见的,必须与一个或多个可视组件(Visual Components)结合使用才能正常工作。
Common Functionality(通用功能)
大多数交互组件具有一些共同点。它们都是 Selectables(可选项) ,这意味着它们拥有共享的内建功能,可用于可视化状态间的过渡(Normal(正常)、Highlighted(高亮)、Pressed(按下)、Disabled(禁用)),以及通过键盘或控制器进行的导航。这些共享功能在 Selectable 页面 中有详细描述。
交互组件通常包含至少一个 Uni...
UGUI-Animation Integration
Animation Integration(动画集成)
Animation(动画)允许在控件状态之间的每一次过渡中使用 Unity 的动画系统进行完整的动画表现。由于可以同时对多个属性进行动画处理,这是最强大的 Transition Mode(过渡模式)之一。
要使用 Animation transition mode(动画过渡模式) ,必须在控件元素上附加一个 Animator Component(动画器组件) 。这可以通过点击“ Auto Generate Animation(自动生成动画) ”来自动完成。同时这也会生成一个已配置好状态的 Animator Controller(动画器控制器) ,需要对其进行保存。
新的 Animator Controller 立即...
41 post articles, 6 pages.