Unity ScrollRect 基础

时间:2024-04-08 17:39:08

先来看官方文档说明:

Unity ScrollRect 基础

Unity ScrollRect 基础

Unity ScrollRect 基础

Unity ScrollRect 基础

-------------------------------

scrollrect的作用如上所说是在一个小的视野内显示一个大的内容,所以用scrollect来滚动显示。通常用于一个大的图片(如地图),一大段文字(比如对话或介绍),一大堆button(比如装备栏)

官方****:https://www.youtube.com/watch?v=tcU8yzv_xEw

-------------------------------------

1.

ScrollRect通常是和Mask组件以及ScrollBar一起工作的。

要使用ScrollRect,在Canvas下新建空对象命名为ScrollView,添加组件ScrollRect。Content表示将要滚动的内容,在ScrollView下新建Image命名为Content拖入BG图片,然后把该Image(即Content)拖到ScrollView的Content里。

Unity ScrollRect 基础


点击测试,发现该背景图可以拖动了,但这个大背景图是显示是整个显示在框上的,显然我们想要的是在框内仅显示一小部分并可以拖动。

可以通过在ScrollView上添加组件Image,再添加组件Mask(Mask貌似必须和Image组件一起运作。Mask组件也可以作为ScrollView的子对象来起作用,见上面的官方文档说明)。该Image可以不添加任何图片,不过它的作用是确定Mask的样式(比如在该例里Source Image是一个小一些的圆角矩形,给ScollView所在的Panel一个黑边框,像手机一样的感觉)。

Unity ScrollRect 基础

Unity ScrollRect 基础


Horizontal 和 Vertical是表示可滚动的方向,如果只想在某一方向滚动,比如水平滚动,则取消勾选Vertical。

Movement Type表示滚动方式,Unrestricted表示一滚就没-_-  一般来说不常用。Elastic表示被滚动的大图不可以离开这个滚动框(就像被框在里面一样),即使在编辑器里一开始该大图没有在滚动框下方,在别处,运行时也会被滚动框拽到下面。Clamped表示滚动到边了就停下,不会有Elastic那种弹一下的感觉,很生硬。

Unity ScrollRect 基础


Inertia表示停下拖动后还滑动一段,就像刹车一样。如果不勾选就是不拖动就停,非常生硬。Deceleration Rate像是摩擦系数一样。0表示立即停(摩擦系数无限大),1表示不停直到边界为止(摩擦系数为0)。


要使用ScrollBar则在Canvas下新建ScrollBar,拖动到合适的位置,然后把该ScrollBar填入Horizontal ScrollBar。就可以用滑动条来拖动了。

Unity ScrollRect 基础


完毕。