在使用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下就可以
睡觉了,太困了。。。。。。坚持记录学习经历:)