Home

UGUI-Events-Messaging System

Messaging System(消息系统) 新的 UI 系统使用了一个消息系统,旨在取代 SendMessage。该系统完全基于 C#,并且旨在解决 SendMessage 存在的一些问题。这个系统通过使用可以在 MonoBehaviour 上实现的自定义接口来工作,以指示组件能够从消息系统接收回调。当发出调用时,会指定一个目标 GameObject;调用会在该 GameObject 上所有实现了指定接口的组件上执行。该消息系统允许传递自定义用户数据,并且可以指定事件在 GameObject 层级结构中传播的范围;也就是说,事件只在指定的 GameObject 上执行,或者也在其子对象和父对象上执行。 除此之外,消息框架还提供了辅助函数,用于搜索并查找实现了特定消息接口的 Gam...

Read more

UGUI-Events

Event System(事件系统) Event System(事件系统)是一种根据输入(无论是键盘、鼠标、触摸还是自定义输入)向应用程序中的对象发送事件的机制。Event System 由一些组件协作组成,用于发送事件。 当你向一个 GameObject(游戏对象)添加 Event System(事件系统)组件时,你会注意到它本身没有暴露太多功能,这是因为 Event System 本身被设计为一个 管理器 ,用于协调 Event System 模块之间的通信。 Event System 的主要职责如下: 管理哪个 GameObject 被视为选中的对象 管理正在使用的 Input Module(输入模块) 管理 Raycasting(射线检测)(如果需要的话)...

Read more

UGUI-Auto Layout

Auto Layout(自动布局) Rect Transform(矩形变换)布局系统足够灵活,能够处理多种不同类型的布局,并允许以完全自由的方式放置元素。然而,有时候可能需要更具结构性的一些方式。 Auto Layout System(自动布局系统)提供了一种在嵌套的布局组中放置元素的方法,例如: Horizontal Groups(水平组) 、Vertical Groups(垂直组) 或 Grids(网格) 。它还允许元素根据其包含的内容自动调整大小。例如,一个 Button(按钮)可以根据其文本内容加上一些填充动态调整尺寸,使其刚好适配。 Auto Layout System 是建立在基本的 Rect Transform 布局系统之上的。它可以选择性地应用于部分或全部元素。...

Read more

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(最佳适配)选项可以让文...

Read more

UGUI-Interaction Components

Interaction Components(交互组件) 本节介绍 UI 系统中用于处理交互的组件,如鼠标或触摸事件,以及通过键盘或控制器进行的交互。 交互组件本身是不可见的,必须与一个或多个可视组件(Visual Components)结合使用才能正常工作。 Common Functionality(通用功能) 大多数交互组件具有一些共同点。它们都是 Selectables(可选项) ,这意味着它们拥有共享的内建功能,可用于可视化状态间的过渡(Normal(正常)、Highlighted(高亮)、Pressed(按下)、Disabled(禁用)),以及通过键盘或控制器进行的导航。这些共享功能在 Selectable 页面 中有详细描述。 交互组件通常包含至少一个 Uni...

Read more

UGUI-Animation Integration

Animation Integration(动画集成) Animation(动画)允许在控件状态之间的每一次过渡中使用 Unity 的动画系统进行完整的动画表现。由于可以同时对多个属性进行动画处理,这是最强大的 Transition Mode(过渡模式)之一。 要使用 Animation transition mode(动画过渡模式) ,必须在控件元素上附加一个 Animator Component(动画器组件) 。这可以通过点击“ Auto Generate Animation(自动生成动画) ”来自动完成。同时这也会生成一个已配置好状态的 Animator Controller(动画器控制器) ,需要对其进行保存。 新的 Animator Controller 立即...

Read more

UGUI-Unity User Interface

Unity UI: Unity User Interface Unity UI 是一个用于开发游戏和应用程序用户界面的 UI 工具包。它是一个基于 GameObject 的 UI 系统,使用组件(Components)和游戏视图(Game View)来排列、定位和设置用户界面的样式。你不能使用 Unity UI 在 Unity 编辑器中创建或更改用户界面。 本篇文档介绍了 Unity UI 的功能,包括创建画布(Canvas)、元素的定位与动画、定义用户交互,以及自动调整布局大小等内容。 原文地址:[Unity UI: Unity User Interface Unity UI 1.0.0](https://docs.unit...

Read more

UGUI-Canvas

Canvas(画布) Canvas(画布)是所有 UI 元素都必须包含在其中的区域。Canvas 是一个带有 Canvas 组件的游戏对象(Game Object),所有的 UI 元素都必须是该 Canvas 的子对象。 在场景中如果还没有 Canvas,使用菜单 GameObject > UI > Image 创建一个新的 UI 元素(比如图像 Image)时,会自动创建一个 Canvas。所创建的 UI 元素将作为该 Canvas 的子对象存在。 在场景视图(Scene View)中,Canvas 区域会以一个矩形显示,这样可以方便地定位 UI 元素,而无需始终显示游戏视图(Game View)。 Canvas 使用 EventSystem 对象来协助消息传递系...

Read more