FishPlayer

一个喜欢摸鱼的废物

0%

Unity RectTransform 小笔记

之前看了一些关于RectTransform的文章,但是最终记忆都不是很深刻。而且要用的时候重新找还挺麻烦的。
干脆把别人的笔记抄来一些好了,以后也方便就着自己的笔记和UXUI同学解释。

Pivot

中心点,是UI元素旋转/缩放的中心点。使用归一化Vector2表示。

Anchor

其实是由两个点组成的(AnchorMin, AnchorMax)。并使用归一化Vector2来表示。
数值代表了在父类X轴和Y轴方向的百分比。

绝对布局

当anchorMax与anchorMin相等时,Anchor呈现为一个点,称之为锚点
在使用锚点的情况下,anchoredPosition是元素Pivot到Anchor的距离

此时会有4个重要的属性。

  • PosX, posY : 中心点到锚点的参数,实际像素值
  • Width, Height : UI 元素的尺寸

绝对布局的情况下无论分辨率是多少,父物体多大,该UI元素的大小是恒定的。

相对布局

当anchorMax与anchorMin不相等时,Anchor呈现为一个框,称之为锚框
在使用锚框的情况下,anchoredPosition是元素Pivot到锚框中心点的距离

这种情况下UI元素的四个角,距离四个对应的锚点的距离是不变的,在这种情况下RectTransform的属性又变为了Left,Top,Right,Bottom。

  • Left,Top,Right,Bottom : 四个点的数值分别是(Left,Top,Right,Bottom)锚点到实际的rect的这4个位置的点的距离。

SizeDelta

OffsetMin/OffsetMax

min是实际UI原素相对于AnchorMin的偏移,另外一个不言而喻.

sizeDelta就是offsetMax - offsetMin的值。

所以这个属性之所以叫做sizeDelta,是因为在锚点情况下其表征的是size(大小),在锚框的情况下其表征的是Delta(UI元素实际的属性值与锚框的差值)

Rect

rect中的属性,不与UI元素所在的位置有关,只和其自身属性相关。根据rect中提供的width和height可以得到UI元素实际的尺寸大小。

rect.position指的是以Pivot为原点,UI元素左下角的坐标。(right,up 为正方向)

参考资料

https://zhuanlan.zhihu.com/p/194317677
https://blog.csdn.net/jmu201521121014/article/details/105725175

顺便推荐一下在线画图小工具,不方便贴图的时候用这个还挺不错的。
https://asciiflow.com/#/
https://textik.com/