Unity 的 UGUI Pivot学习

Pivot很常见,也很简单,有时候简单到让人忽视,再简单的东西也希望自己能够熟知,而不是一知半解。

Pivot就是中心点的意思,在UGUI里面是长这样的:

一个UI控件是一个矩形,我们先建立UI的坐标模型:以左下角为原点(0,0),按照顺时针的方向设矩形的四个角坐标为(x1y1, x1y2, x2y2, x2y1)。

现在我门可以计算Pivot.x = 0.5时,x的值。x = (x2 - x1 ) * Pivot.x = (x2 - x1) * 0.5。看公式可以看出,Pivot.x = 0.5时,x轴方向的中心点在UI的x1和x2中间,同理,Pivot.y = 0.5时,y轴方向的中心点在UI的y1和y2中间。大部分情况下,UI的Pivot.x和Pivot.y的取值都是0.5,此时中心点就是UI的中心。

接下来让我们考虑Pivot.x为其他值的情况(Pivot.y同理)

当Pivot.x = 0时,中心点的位置 x = (x2 - x1) * 0 ,此时Pivot.x的位置在x1处;

当Pivot.x = 1时,中心点的位置 x = (x2 - x1) * 1 ,此时Pivot.x的位置在x2处;

当Pivot.x = 2时,中心点的位置 x = (x2 - x1) * 2 ,此时Pivot.x的位置在 2 * x2处;

当Pivot.x = -1时,中心点的位置 x = (x2 - x1) * -1 ,此时Pivot.x的位置在 -x2处;

到这里,Pivot的分析基本就完成了。

下面有一些情况稍微提一下:

当改变UI的Pivot时,你会看到Position的坐标也会发生变化:

                  

这是为什么呢?这是因为Pos的位置是通过移动UI的Pivot来确定的,Pivot改变后中心点发生了变化, Unity为了使改变Pivot后的UI,在场景里面的位置保持不变,便自动修改了UI的Pos的值。如果你把Pos值修改为未改变Pivot前的Pos值,你会发现Pivot在场景中的位置和改变前相同,但是UI位置变了。

另外Pivot和UI的拉伸,移动,旋转关系密切,改变Pivot会对这些UI变换产生影响,后面有时间继续写。

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值