Unity基础篇:利用Scroll View快速创建可以上下左右拉动的文本框。
我在网上找了很多..........发现他们都是画蛇添足,Unity都给写好了,为什么还要自己花时间重新来一遍?每次都要自己造轮子岂不累死?好了,进入正题。
Scroll View
这是它的Inspector面板
列表如果不需要左右滑动,Horizontal Scroll Bar也就可以去掉了,如果去掉的话记得禁用里面的Horizontal和Vertical,不然他还是会预留滚动条的位置。
Movement Type:
Elastic 表示列表拉至顶部或者底部时,还可以继续拉动一部分距离,然后在经过Elasticity的时间回复
Clamped 表示不会拉动多余的距离
Unrestricted 表示随便怎么拉,拉到那算那,也不会自动回复
Image 里的Source就是背后那个半透明的背景,自己可以改。
我们看看它的目录结构
ViewPort的Mask正是限定文字显示范围的遮罩。具体作用如图所示。
然后给Content添加Text组件,并且输入足够多的字
(下面这段根据需求,可看可不看)
然后,在content里面加入GridLayOutGroup,使底下的东西按照网格排放。
Padding 的概念和写网页时padding的概念一样,代表边距。
Cell size和NGUI中差不多,是网格的大小。
Spacing是间距。这里我做了一个单列纵滚动条,所以只用考虑y轴间距。
StartCorner对齐方式将决定content在scrollview中的相对位置,如果要做一些从中心开始既可以往前滚也可以往后滚得ScrollView,可以修改StartCorner。
constraint 里面可以选择固定的行数或者列数。我这里列是固定的只有一列。如果能确定固定的行或者列,可以用这个固定起来,代码会自动计算网格的宽或者高。
然后给Content添加ContentSizeFitter组件,就是用于根据内容物自动扩展的。用preferred size,scroll rect里面是文字时使用(这个一定要加!!!)
最后在Unity的Scene窗口拖动Contant的大小,达到目的。
完成效果