Unity3D学习笔记uGUI(8): Rect Transform简述
二、UI Reference
这一章深入介绍Unity3D的UI功能特性。
8、Rect Transform
RectTransform是专用于2D布局的Transform组件(相对3D)。Transform定义了一个点,但Rect Transform定义了可摆放UI元素的一个矩形。如果Rect Transform的父节点也是Rect Transform,则子节点可参照父节点来定义位置和尺寸。
8.1 Rect Transform属性一览
Pos (X, Y, Z) | 矩形相对于锚(Anchor)的中心点(Pivot)的位置 |
Width/Height | 矩形的宽度和高度 |
Left/Top/Right/Bottom | 矩形边缘相对于锚的四个边的距离 |
Anchors | 锚的左下角与右上角的位置 |
- Min | 锚的左下角:例如(0,0)表示父节点左下角,(1,1)表示父节点右上角 |
- Max | 锚的右上角:例如(0,0)表示父节点左下角,(1,1)表示父节点右上角 |
Pivot | 矩形的中心点,也就是矩形旋转时的基准点:例如(0,0)表示左下角,(1,1)表示右上角 |
Rotation | 矩形依据Pivot点的(X,Y,Z)旋转值 |
Scale | 矩形的(X,Y,Z)缩放值 |
8.1 Rect Transform细节
注意,某些Rect Transform(比如Content Size Fitter)执行计算是在一帧结束时、计算UI顶点之前,以确保它的计算能考虑到这一帧的其他所有计算结果。也就是说首次Start()和Update()结束时它们并没有被计算过。
你可以创建Start()时主动触发Canvas.ForceUpdateCanvases()方法调用。这样可以强制Canvas不在这一帧结束时更新,而是在这个方法被调用时更新。(然而Canvas.ForceUpdateCanvases()性能不佳,不到不得已的情况,不必使用)