UGUI系列其他博文,可通过导航帖查看
前言
上一篇博文简单的介绍了一些锚点及轴心的一些概念,及Position的在锚点不同状态下的显示情况,下面我们继续介绍RectTransform的属性
UI的宽高是我们经常需要获取的属性,它分两种情况
(1)锚点集中在一起
这种情况下,宽高是直接显示出来的
在debug模式下,可以直接看到SizeDelta,它这个时候代表的就是rect的宽高
这种情况下,我们在代码里,就有两种方式获取到当前UI的宽高
RectTransform rect = transform.GetComponent<RectTransform>();
1)通过sizeDelta
rect.sizeDelta
2)通过rect
rect.rect.size
它还有两个分别表示宽高的属性也可以使用
rect.rect.height
rect.rect.width
当前情况下,它们的输出值是一样的
(2)锚点分开
例如像这样
这个时候, 在原本显示宽高的地方,显示的属性就会发生变化
以Left为例,表示的是rect的左边到锚点形成的图形的左边的距离
这个时候
SizeDelta的x分量,表示的left和right的值的和
SizeDelta的y分量,表示的top和bottom的值的和
所以这个时候,你要在代码中获取UI的宽高尺寸,就需要用Rect属性,而不是SizeDelta
我会在我的公众号上推送新的博文,也可以帮大家解答问题
微信公众号 Andy and Unity 搜索名称或扫描二维码
希望我们能共同成长,共同进步