目录
1.canvas
Canvas 的主要功能
Canvas 的组件
Canvas 的渲染模式
Canvas 的使用步骤
Match 的作用
Match 的工作原理
如何选择合适的 Match 值
示例
总结
EventSystem 的作用
EventSystem 和 Canvas 的关系
EventSystem 的组件
EventSystem 的工作流程
2.代码
3.代码分析思路
4.代码疑惑语法讲解
1.canvas
Canvas 是 Unity 中用于构建和管理 UI(用户界面) 的核心组件。它是所有 UI 元素的容器,负责渲染和管理 UI 元素的布局、交互和显示。Canvas 是 Unity UI 系统的基础,任何 UI 元素(如按钮、文本、图像等)都必须放在 Canvas 下才能正确显示。
Canvas 的主要功能
-
UI 元素的容器
-
Canvas 是所有 UI 元素的父对象,UI 元素必须作为 Canvas 的子对象才能显示。
-
例如,按钮、文本、图像等 UI 元素都需要放在 Canvas 下。
-
-
渲染 UI 元素
-
Canvas 负责将 UI 元素渲染到屏幕上。
-
它使用 RectTransform 组件来管理 UI 元素的位置、大小和旋转。
-
-
屏幕空间和世界空间
-
Canvas 可以工作在两种模式下:
-
Screen Space - Overlay:UI 元素直接渲染在屏幕上,不受场景中摄像机的影响。
-
Screen Space - Camera:UI 元素渲染到指定的摄像机,可以受摄像机视角的影响。
-
World Space:UI 元素作为 3D 对象存在于场景中,可以与其他 3D 对象交互。
-
-
-
分辨率自适应
-
Canvas 提供了 Canvas Scaler 组件,可以根据屏幕分辨率自动调整 UI 元素的大小和布局,确保 UI 在不同设备上显示一致。
-
-
事件系统
-
Canvas 与 Unity 的 EventSystem 配合,处理 UI 元素的交互事件(如点击、拖拽等)。
-
Canvas 的组件
-
RectTransform
-
所有 UI 元素都使用
RectTransform
组件(继承自Transform
),用于控制 UI 元素的位置、大小、旋转和锚点。 -
锚点(Anchors)和轴心点(Pivot)是
RectTransform
的核心概念,用于实现 UI 元素的动态布局。
-
-
Canvas Scaler
-
用于根据屏幕分辨率自动缩放 UI 元素,支持以下模式:
-
Constant Pixel Size:UI 元素的大小固定为像素值。
-
Scale With Screen Size:UI 元素根据屏幕分辨率按比例缩放。
-
Constant Physical Size:UI 元素的大小固定为物理尺寸(如英寸)。
-
-
-
Graphic Raycaster
-
用于检测 UI 元素的交互事件(如点击、拖拽等)。
-
只有带有
Graphic Raycaster
的 Canvas 才能响应 UI 事件。
-
Canvas 的渲染模式
Canvas 有三种渲染模式,适用于不同的场景需求:
-
Screen Space - Overlay
-
UI 元素直接渲染在屏幕上,覆盖在所有场景内容之上。
-
不受摄像机影响,适合简单的 2D UI。
-
示例:游戏中的 HUD(血量、分数等)。
-
-
Screen Space - Camera
-
UI 元素渲染到指定的摄像机,可以受摄像机视角的影响。
-
适合需要与场景内容交互的 UI。
-
示例:游戏中的对话框、菜单。
-
-
World Space
-
UI 元素作为 3D 对象存在于场景中&#x
-