Unity基础篇:利用Scroll View快速创建可以上下左右拉动的文本框。

版权声明:转载请注明出处!不注明也无所谓,嘿嘿。 https://blog.csdn.net/qq_15020543/article/details/82717445

我在网上找了很多..........发现他们都是画蛇添足,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的大小,达到目的。

完成效果

猜你喜欢

转载自blog.csdn.net/qq_15020543/article/details/82717445