Unity的RecTransform布局计算

RecTransform的布局计算方式容易让人混乱,因为参数很多,而且分情况。这篇文章讲得很好了,但稍微有点乱,我就想总结精简下。

锚点不重合时

锚点就是界面里的anchors,两个点Min一个,Max一个。当它们不重合时,Min作左下角,Max作右上角,它们构成一个矩形框区域。

锚点

然后面板这里就变成修改4边的距离了,Left就是当前RectTransform左边和锚点构成矩形框作边界的距离,其他属性分别是其他3个边的距离,这样当前RectTransform就确定了。

边界距离

锚点重合时

锚点重合时面板

width/Height就确定了当前RectTransform大小,而位置就是根据Pivot来确定。面板上的Pivot确定的是Pivot在当前RectTransform中的位置,锚点的位置,加上PosX和Pos Y就可以确定Pivot的在父控件的位置,两者是同一个位置,就把当前RectTransform确定下来了。

其实在这里,Pivot实际是锚点的作用,可以想象钉在墙上的一张纸,Pivot就是那个钉子。

关于两种计算方式的思考

我觉得两种最大的区别是后者的宽高是固定的,也就是如果你希望你的子控件的大小固定,它不跟随父视图大小变化而变化,那么就用第二种,比如技能按键。而如果你的子控件和父控件是边界距离固定,那么就用第一种,比如占整个屏幕的商品列表。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容