Chapter 1. Looking Back, Looking Forward

从旧GUI控件、样式和事件过渡到RectTransform、Canvas、UnityEvent、可扩展控件与动画;用布局探针、事件路由和多分辨率发布门完成独立复核。

学习目标

  • 能说明“Chapter 1. Looking Back, Looking Forward”如何从旧GUI控件、样式和事件过渡到RectTransform、Canvas、UnityEvent、可扩展控件与动画,并明确2015年uGUI原书与Unity 6现行资料的时代边界
  • 能先预测“怎样解释旧即时GUI与新GameObject组件式uGUI的状态、布局和事件差异,而不混淆两个时代的接口?”的布局或事件结果,再沿层级、矩形、画布、相机、射线和处理器逐阶段核对
  • 能注入“继续用每帧即时绘制的假设解释uGUI,导致状态、层级和序列化事件的所有权不清”,用“每个控件的层级、布局矩形、视觉组件、交互状态和事件接收者都能追到同一版本化场景”决定接受、修正或拒绝UI发布

为什么从这个UI任务开始

第一章的重点不是把旧API换一个名字,而是看见uGUI把布局、视觉、交互与事件拆成可序列化组件。 “Chapter 1. Looking Back, Looking Forward”使用的贯穿任务是:把旧版设置面板改造成2015年uGUI场景,逐项记录控件分组、焦点、皮肤、RectTransform、Canvas和UnityEvent。 操作前先预测哪个矩形、射线目标或事件处理器会变化,运行后再补理由不算预测。

本页围绕“怎样解释旧即时GUI与新GameObject组件式uGUI的状态、布局和事件差异,而不混淆两个时代的接口?”建立正常、故障与恢复路径。只有“Chapter 1. Looking Back, Looking Forward”保持“每个控件的层级、布局矩形、视觉组件、交互状态和事件接收者都能追到同一版本化场景”并交付旧新GUI对照、GameObject层级、RectTransform、Canvas、视觉组件、Selectable状态、UnityEvent监听和动画状态记录。,编辑器画面才构成UI证据。

书目、38组条目与UI时代

“Chapter 1. Looking Back, Looking Forward”以作者公告核对Simon Jackson在2014年发布的《Unity 3D UI Essentials》及其围绕Unity 4.6新UI、动态缩放、效果和世界空间界面的定位;出版社授权预览核对第一版详细目录,中文版书页核对《Unity UI设计》出版信息。课程分母为六章与附录合并后的38组公开目录条目。

“Chapter 1. Looking Back, Looking Forward”只依据作者公告、授权样章和公开目录限定范围,不逐段改写原文;解释、状态模型、交互、练习与答案均为独立教学重写。每个合并目录组保留组内全部英文小节名,不能用一个现代主题替换。

“Chapter 1. Looking Back, Looking Forward”另以技术核对 1技术核对 2技术核对 3技术核对 4核对现行技术事实。2015年的旧GUI对照、uGUI初版面板和源码仓库流程保留为原书时代轨;Unity 6的uGUI 2.0与UI系统比较只验证稳定布局、画布和事件机制或说明迁移边界,不能反向证明原书当年的菜单、包和默认值。

公开目录条目与UI机制

State of play;GUI controls

公开坐标 1/5。 在“Chapter 1. Looking Back, Looking Forward”的坐标1中,State of play;GUI controls用于对照即时GUI的绘制调用、分组、焦点、样式与布局状态;先锁定场景和层级,再用绘制顺序、焦点对象、皮肤、事件类型和布局结果复核,出现用uGUI组件状态反推旧GUI行为时不得发布。

Common control features;Grouping controls;Getting in focus

公开坐标 2/5。 Common control features;Grouping controls;Getting in focus进入“Chapter 1. Looking Back, Looking Forward”后要回答第2张布局卡:它怎样对照即时GUI的绘制调用、分组、焦点、样式与布局状态、改变哪个矩形或目标、由哪些绘制顺序、焦点对象、皮肤、事件类型和布局结果证明,并如何排除用uGUI组件状态反推旧GUI行为。

GUI styles and skins;GUI events and properties;Layout controls

公开坐标 3/5。 围绕“怎样解释旧即时GUI与新GameObject组件式uGUI的状态、布局和事件差异,而不混淆两个时代的接口?”,条目3把GUI styles and skins;GUI events and properties;Layout controls解释为对照即时GUI的绘制调用、分组、焦点、样式与布局状态;复核者先读取绘制顺序、焦点对象、皮肤、事件类型和布局结果再判断画面,不能接受用uGUI组件状态反推旧GUI行为。

New layouts;Rect Transform;The Canvas

公开坐标 4/5。 对“Chapter 1. Looking Back, Looking Forward”而言,New layouts;Rect Transform;The Canvas的最小合同是以父矩形中的归一锚点、轴心和偏移计算UI矩形,第4次检查保存Anchor Min/Max、Pivot、offset、父尺寸与运行结果;若产生只在参考分辨率拖出绝对坐标,就回到层级、布局或事件上游。

New UnityEvent system;Control extensibility;Animation

公开坐标 5/5。 第5个公开条目组New UnityEvent system;Control extensibility;Animation服务于从旧GUI控件、样式和事件过渡到RectTransform、Canvas、UnityEvent、可扩展控件与动画,需要以输入样本、活动模块、RaycastResult排序、目标和事件日志呈现从活动输入模块经Raycaster生成事件数据并选择目标;多个模块或错误相机竞争同一输入会破坏“每个控件的层级、布局矩形、视觉组件、交互状态和事件接收者都能追到同一版本化场景”。

先预测,再操作三个UI实验

分步1 / 3

1. 画布锚点与布局探针

切换“设置面板、焦点控件、事件反馈条”以及手机竖屏、横屏和桌面窗口,核对Anchor Min/Max、Pivot、offset与安全区怎样连接“Chapter 1. Looking Back, Looking Forward”。

画布与锚点探针

固定布局合同,再切换分辨率

怎样解释旧即时GUI与新GameObject组件式uGUI的状态、布局和事件差异,而不混淆两个时代的接口?

目标视口

被测 RectTransform

390 × 844窄屏与安全区
safe area
设置面板

Anchor Min / Max(0.05, 0.9) → (0.05, 0.9)

Pivot / Offset(0, 1) · +16, -16

本页目录坐标:State of play;GUI controls、Common control features;Grouping controls;Getting in focus、GUI styles and skins;GUI events and properties;Layout controls、New layouts;Rect Transform;The Canvas、New UnityEvent system;Control extensibility;Animation

Chapter 1. Looking Back, Looking Forward的可重放UI协议

阶段UI动作必留证据拒绝条件
对照旧GUI状态与布局在“Chapter 1. Looking Back, Looking Forward”执行对照旧GUI状态与布局,只允许声明组件写入布局或状态Unity版本、场景层级、视口与初始状态层级或对象身份不可追溯
建立Canvas和RectTransform层级在“Chapter 1. Looking Back, Looking Forward”执行建立Canvas和RectTransform层级,只允许声明组件写入布局或状态RectTransform、Canvas、相机、射线与事件轨迹继续用每帧即时绘制的假设解释uGUI,导致状态、层级和序列化事件的所有权不清
验证事件扩展与动画在“Chapter 1. Looking Back, Looking Forward”执行验证事件扩展与动画,只允许声明组件写入布局或状态分辨率矩阵、构建截图、迁移与回退记录无法重放或恢复基线
unit: "uid-01"
question: "怎样解释旧即时GUI与新GameObject组件式uGUI的状态、布局和事件差异,而不混淆两个时代的接口?"
scenario: "把旧版设置面板改造成2015年uGUI场景,逐项记录控件分组、焦点、皮肤、RectTransform、Canvas和UnityEvent。"
panels: ["设置面板", "焦点控件", "事件反馈条"]
stages:
  ["对照旧GUI状态与布局", "建立Canvas和RectTransform层级", "验证事件扩展与动画"]
invariant: "每个控件的层级、布局矩形、视觉组件、交互状态和事件接收者都能追到同一版本化场景"
fault: "继续用每帧即时绘制的假设解释uGUI,导致状态、层级和序列化事件的所有权不清"
evidence: "旧新GUI对照、GameObject层级、RectTransform、Canvas、视觉组件、Selectable状态、UnityEvent监听和动画状态记录。"
reset: restore_viewport_panel_route_step_gates_and_artifact

该协议要求“Chapter 1. Looking Back, Looking Forward”在相同Unity版本、场景、层级、视口、输入和初始状态下重放。重置后若视口、面板、路由模式、步骤、发布门或证据显示没有回到基线,交互状态已经污染比较,不能作为UI证据。

本页回顾

掌握“Chapter 1. Looking Back, Looking Forward”不是记住编辑器点击顺序,而是能围绕“怎样解释旧即时GUI与新GameObject组件式uGUI的状态、布局和事件差异,而不混淆两个时代的接口?”重建UI状态,并用“每个控件的层级、布局矩形、视觉组件、交互状态和事件接收者都能追到同一版本化场景”拒绝“继续用每帧即时绘制的假设解释uGUI,导致状态、层级和序列化事件的所有权不清”。最终交付为旧新GUI对照、GameObject层级、RectTransform、Canvas、视觉组件、Selectable状态、UnityEvent监听和动画状态记录。

练习与答案

练习

  1. 问题 1:UI合同。 “Chapter 1. Looking Back, Looking Forward”为什么必须先声明Unity版本、场景层级、视口、布局写入者、相机与输入模块?
  1. 问题 2:目录逐项覆盖。 怎样证明公开条目组已经进入机制、交互和练习?
  1. 问题 3:故障恢复。 怎样证明“继续用每帧即时绘制的假设解释uGUI,导致状态、层级和序列化事件的所有权不清”已经被修正?

名词解释

名词解释

本章出现的专业名词,用大白话再讲一遍。

State of play

对应“State of play;GUI controls”;在“Chapter 1. Looking Back, Looking Forward”中用于对照即时GUI的绘制调用、分组、焦点、样式与布局状态,需要连接Unity时代、层级、矩形、画布、输入与目标。

UI条目2

对应“Common control features;Grouping controls;Getting in focus”;在“Chapter 1. Looking Back, Looking Forward”中用于对照即时GUI的绘制调用、分组、焦点、样式与布局状态,需要连接Unity时代、层级、矩形、画布、输入与目标。

UI条目3

对应“GUI styles and skins;GUI events and properties;Layout controls”;在“Chapter 1. Looking Back, Looking Forward”中用于对照即时GUI的绘制调用、分组、焦点、样式与布局状态,需要连接Unity时代、层级、矩形、画布、输入与目标。

New layouts

对应“New layouts;Rect Transform;The Canvas”;在“Chapter 1. Looking Back, Looking Forward”中用于以父矩形中的归一锚点、轴心和偏移计算UI矩形,需要连接Unity时代、层级、矩形、画布、输入与目标。

UI条目5

对应“New UnityEvent system;Control extensibility;Animation”;在“Chapter 1. Looking Back, Looking Forward”中用于从活动输入模块经Raycaster生成事件数据并选择目标,需要连接Unity时代、层级、矩形、画布、输入与目标。

资料与写作方式声明

本章以Simon Jackson《Unity 3D UI Essentials》合法公开试读核定可见范围,并以目录限定未公开部分,并结合正文列出的技术资料独立重写;不宣称复现原书正文,也不沿用原作表述。

原作版权归作者与出版社所有;本站原创教学结构与表述仅供学习交流。

讨论

评论区加载中…