UGUI组件localPosition、 anchoredPosition、 anchoredPosition3D

总结

先说anchoredPosition、anchoredPosition3D,它们表示同一位置的坐标,区别在于前者是二维向量,后者是三维向量

localPosition  是子物体轴点  相对于  父物体轴点的坐标
anchoredPosition是子UI物体轴点 相对于  父物体上它的锚点的坐标
(“相对于”是说子物体的点,以父物体的点为坐标原点,的坐标)

举例

(公司电脑上传不了本地Unity截图,回去的时候再作图)

 Debug.Log("localPosition——" + transform.localPosition);
 Debug.Log("anchoredPosition——" + transform.GetComponent<RectTransform>().anchoredPosition);
 Debug.Log("anchoredPosition3D——" + transform.GetComponent<RectTransform>().anchoredPosition3D);

父物体:白色Image 坐标(0,0,0)
子物体:黑色Image 坐标(200,0,0)
子物体的锚点,默认是父物体的中心点——默认轴点Pivot(0.5,0.5)时,以上代码的结果
在这里插入图片描述
子物体的锚点,改为父物体左上顶点时,以上代码的结果
在这里插入图片描述
当把父物体的轴点,也设为左上顶点——Pivot(0,1)时

在这里插入图片描述

结论

UGUI组件,Inspector视图Rect Transform的PosXYZ——显示的是anchoredPosition,而非localPosition

猜你喜欢

转载自blog.csdn.net/weixin_42935398/article/details/119959196
今日推荐