用户界面工具包为程序员和艺术家提供新的和更新的演示程序



QuizU是一个以程序员为中心的交互式测验应用程序示例,它展示了 UI 工具包组件如何利用各种设计模式,在一个具有多个屏幕和游戏流程管理功能的小型游戏中协同工作。
演示由两部分组成:10 个小巧易懂的示例演示了 UI 工具包的不同方面,还有一个迷你问答游戏,将 10 个场景中的许多技术整合到一个完整的项目中。
小游戏的极简视觉风格让你专注于用户界面的机制实现,而不会迷失在设计细节中。
该问答游戏说明了如何在游戏流程中使用状态模式、管理多个菜单屏幕、使用模型-视图-演示器模式、在 UI 工具包中实现事件处理等。游戏的玩法是一种非常简单的问答游戏机制,但其目的是展示和传授可以在自己的项目中使用的实施技术。

通过在项目中持续集成这些设计模式,可以提高代码的可读性,使代码库更加整洁。设计模式不仅能减少重构和测试时间,还能加快整个团队的开发进程。
此外,事件驱动架构(游戏组件通过事件相互通信)促进了松散耦合,从而提高了可扩展性和可测试性。

演示的第二部分由 10 个小型演示场景组成。每个演示场景代表一种特定的技术或功能。在您为下一个项目评估 UI 工具包时,可将它们视为一套配方,为您提供启发和指导。以下是 UI 工具包功能和演示场景技术的简要示例:
- 用户体验语言和视觉树:UXML 文件形成了用户界面元素的层次结构。这些视觉树是用户界面的蓝图。
- Flexbox:灵活方框布局模型(Flexbox)提供了一种高效的布局模型,用于在容器中动态排列用户界面元素。
- 统一样式表 (USS):USS 允许开发人员使用预定义的样式定制用户界面元素。重新设计用户界面只需交换样式表。
- UQuery:UQuery 简化了在复杂的用户界面元素层次结构中进行搜索的过程,实现了对可视化树中特定用户界面组件的无缝导航。
- 伪类:伪类可用于创建交互式和动画用户界面元素,只需极少的额外代码,就能为可视化界面添加额外的 "活力"(例如,当按钮悬停时将其放大,或在选择后改变文本字段的颜色)。
- 用户界面工具包事件系统:UI Toolkit 拥有自己的事件系统,旨在处理用户界面的点击、更改和指针输入,甚至跨越复杂的层次结构。
- 操纵器:操纵器将相关的事件回调封装到一个类中,从而提高了可重用性,并使定义用户交互变得更加容易(例如,用于库存系统的点击拖动操纵器、用于捏合缩放效果的手势操纵器等)。
- 自定义控制:该演示展示了如何通过 UxmlFactory 和 UxmlTraits 类定义和实例化自定义 VisualElement。这些自定义控件可以通过脚本或用户界面生成器重复使用。
我们建议您使用 Unity 2022 LTS下载 QuizU。您还可以阅读我们在 Unity Discussions 上发布的一系列文章,这些文章与该演示同时发布。文章在这里:

2022 年 9 月,我们推出了用户界面工具包样本--《龙争虎斗》(您可以阅读发布博文)。该演示在 2D 迷你 RPG 项目的一个切片上展示了全功能界面 Dragon Crashers的全功能界面演示,向您展示在自己的应用程序中利用 UI 工具包的技巧。这是电子书的配套作品 Unity 中的用户界面设计与实现的配套电子书《Unity 中的用户界面设计与实现》也将于 2022 年底发布。
您现在可以下载新版本的UI 工具包示例 - Dragon Crashersfor Unity 2022 LTS。最新版本的改进和更新包括
- 通过主题和 UI 工具包中的 GeometryChangedEvent,支持运行时横向和纵向屏幕模式
- 实施 SafeArea API,在设备的可用屏幕区域内包含用户界面功能
- 将移动设备的每秒帧数限制提高到 60 帧
- 重构、简化选择器和 USS 样式表
- 更高分辨率的图标
- 改进了针对不同屏幕比例和某些光标不一致情况的固定 VFX 生成位置
- 重构设计模式,打造更简洁的用户界面架构
- 通过教程检查器窗口提供新的学习内容

我们还为更新后的项目添加了用户指南。这是对我们收到的用户反馈的回应,他们要求更好的指导内容,以帮助他们理解演示中使用的技术和功能。
最后,现在还提供了项目视频演示,帮助您浏览演示。看看吧
我们希望您能通过QuizU 和更新的用户界面工具包样本--"龙争虎斗"获得许多有用的技巧。您可以在Unity 最佳实践中心找到面向程序员、艺术家、技术艺术家和设计师的所有Unity 高级电子书。