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