RectTransform.anchoredPosition(3D)解释

本文解析了Unity中AnchoredPosition的概念,通过实例介绍了子节点pivot与父节点的关系,以及如何计算虚拟轴心和实际位置。重点讲解了anchoredMin和anchoredMax在布局中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
先上图,这就是anchoredPosition的几何含义==》箭头所代表的向量。

然后解释名词:
绿框:子节点
红框:父节点
轴心:Pivot,上图中的箭头指向的蓝色小圈圈,
锚点区:AnchoredMin和AnchoredMax构成的一个方框,上图中四个白色小三角构成的区域
虚拟轴心:以子节点的pivot参数在锚点区映射出来的点

上代码:

        float virtualX = Mathf.Lerp(rect.anchorMin.x, rect.anchorMax.x, rect.pivot.x);
        float virtualY = Mathf.Lerp(rect.anchorMin.y, rect.anchorMax.y, rect.pivot.y);
        Vector2 virtualPivot = new Vector2(virtualX, virtualY);
        Vector2 localPosition2D = new Vector2(rect.localPosition.x, rect.localPosition.y);
        Vector2 anchoredPosition = localPosition2D - Vector2.Scale(parent.rect.size, visualPivot - Vector2.one * 0.5f);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值