Unity3d使用Layout Group进行GUI自适应排版

在使用u3d制作GUI时常常会遇到变长排版的需求,例如我们的物品表、技能表。在不同的情况下可能需要我们的底图跟着增长,但一般情况我们的底图不会跟着增长。在这种情况我们可以使用Layout Group 组件,Layout Group主要有 Grid Layout Group、Vertical Layout Group、Horizontal Layout Group。本文使用Horizontal Layout Group举例。

现在有一需求,需要水平排列一堆50X50的按钮,但是数量不清晰,视游戏情况而定。

那么首先我们建一个容器,这里我方便建一个panel命名为ButtonsPanel,然后在里面建一个50X50的Button


在这个情况下,如果我们增减Button会变成这样,我们的底图不会跟着排版


此时我们可以在Panel加上Horizontal Layout Group组件,但加上后,我们的3个Button变成。


此时我们可以在每个Button加上Layout Element 设置Preferred Width和Preferred Height并填上原长宽


然后将Panel的Horizontal Layout Group组建的Child Force Expand (Width 和 Height 去掉),在加上Content Size Fitter组件,将Horizontal Fit 是设置为Preferred Size(与Button Layout Element 的Preferred Width 对应),此时会变成这样


我们底图已经能自动缩放了,但是还是不那么美观,此时我们可以在Horizontal Layout Group加些边距


现在好看多了,当我们再想加按钮,直接复制在Panel下就可以


睡觉了,太困了。。。。。。坚持记录学习经历:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值