有关Unity3D中UGUI的知识,做下笔记
参考博客:https://blog.csdn.net/zhongdong00/article/details/55057107
一、Anchors(锚点) :
我们用官网一组图片可以很形象的描述锚点的作用:
锚点全在中间的情况
锚点全在右下角的情况
锚点在两个角的情况
锚点分开的情况
总结:由此可以看到,不管什么情况,button的四个顶点到相应锚点的相对位置是不变的,并且,当四个锚点在一起和
不在一起时RectTransform可调整的属性会有变化,当4个锚点都在一起的时候,RectTransform会显示Pos X,Pos Y,Width,Height四个属性可供修改。
二、Pivot(UI的中心点,称为轴点):
UI元素的旋转和缩放是围绕pivot进行的。轴点是Rect的实际中心点,是属于Rect自身的,和Rect尺寸中心点不同。尺寸中心点是以宽,高取1/2得到。而轴点是可以任意指定的,如果将Rect旋转,可以看到Rect是围绕轴点旋转,而不是中心点。Pivot的范围也是[0,1]的比例值。Pivot默认值为(0.5, 0.5),即物体的几何中心。
轴点为(0.5,0.5)时,轴点为(1,1)时
anchoredPosition:
可以理解为Pivot点相对于Anchor reference点的位置。Anchor reference点,可以这样理解:当四个anchors点在一起的时候,这个点就是anchor reference点;否则这四个点的中心点就是anchor reference点。
在以上两张图中,可以看到“确定”按钮的Anchor reference点即为图片中心的锚点,由此我们可以明白锚点其实就是一个RectTransform相对于其父节点的4个参考点,并且可以合为一个参考点,锚点在从属结构上,是属于子RectTransform对象,是其中的一种属性,但是其取值范围是位于父节点的,也就是说,整个父节点的Rect的范围,都是锚点的取值范围。我们可以看到按钮的PosX和PosY的值分别为236和-112,这是按钮的Pivot(0.5,0.5)相对于Anchor reference点的位置,也就是相对于锚点的位置。
下面我们改变一下Pivot点的位置为(1,1),即为按钮自身的右上角,可以发现PosX和PosY的值也会相应发生变化: