我编写了自定义布局所需的自定义内容适配程序。所以,我需要控制RectTransform.sizeDelta
当锚点不同时属性,但我无法显示该值。
我不需要Unity3D API参考资料,我读了它,但什么也没得到,因为它只说:
此 RectTransform 的大小相对于
锚点。如果锚点在一起,则 sizeDelta 与 size 相同。
如果锚点位于父级的四个角中的每一个,则
sizeDelta 是与矩形相比大或小多少
它的父级。
谁能用正常语言解释一下这是什么意思?当锚点不同时,如何手动计算它?
确实,这个定义有点令人困惑。
sizeDelta
基本上,返回 UI 元素的实际矩形与锚点定义的矩形之间的差异。
例如,给定一个 300x200 的矩形:
Anchors in the same place as the corners of the rectangle: sizeDelta
is (0,0)
Left or right anchors at half width of the rectangle: sizeDelta
is (150,0)
All four anchors in a point: sizeDelta
is (300,200) (i.e.: same size as the rectangle)
正如你所看到的,这根本不重要where由锚点定义的矩形的中心是,唯一重要的是元素矩形和锚点矩形的宽度和高度之间的差异。
在伪代码中,它是这样的:
sizeDelta.x = UIElementRectangle.width - AnchorsRectangle.width;
sizeDelta.y = UIElementRectangle.height - AnchorsRectangle.height;
因此,如果 UI 矩形的尺寸大于锚点的尺寸,sizeDelta
为正,如果更小,sizeDelta
是负数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)