UGUI如果要实现如上图的布局效果,很可惜,UGUI没有自带这个功能,UGUI的布局无非就是
Horizontal Layout Group
、
Vertical Layout Group
、
Grid Layout Group
三种布局。但是这三种布局都是很平凡的布局,没有带有这种特殊布局的。唯一和它相像的就是
Grid Layout Group
,但是
Grid Layout Group
要求它所有子对象都是定宽定高的。像这样每个子对象宽高都不一样就不好办了。
不过可以通过
FlowLayoutGroup
这个插件来实现这个功能,这个也称不上是插件,因为就是一个纯源码的Component。先上这个Demo的源码吧。
不知道为何下载下来没有附带脚本,发一个基于百度盘的链接:
FlowLayoutGroup.unitypackage
用法很简单,就是和UGUI自带的布局组件一样的。
在
Canvas
下新建一个空物体,添加
FlowLayoutGroup
脚本,然后在这个物体下添加
Image
,并为Image挂上
Horizontal Layout Group
脚本
再往Image下添加一个Text组件,现在就可以输入Text的文本,来改变Image的宽度实现瀑布流效果。
解释为什么要在Image上添加
Horizontal Layout Group
脚本,是为了实现更具Text文字长度来动态改变Image的宽度。
如果有什么不懂的具体可以看源码,源码里面包括了
FlowLayoutGroup
脚本。