Unity,UI实现滚动内容

昨天小伙伴有个需求,需要做一个UI的滚动内容。要在Ipad上实现,最好带惯性效果。于是我二话不说拿起键盘就是敲代码。用Touch来控制,得到每次滑动的deltaPosition。然后移动Panel的位置。今天起来想惯性怎么实现,然后搜了一下。发现只需要用unity的一个组件就可以轻松实现。(lll¬ω¬)心累。实现效果如下:
这里写图片描述
是不是很赞!
其实这里只是用了一个Unity的组件,叫做ScrollRect:
这里写图片描述
国际惯例,先详讲属性,再说用法。
Content:这是你需要滑动的内容,最好单独用一个Panel来放置,比如一组按钮,或者一个特别大的图片,抑或是很大的文本框。
Horizontal:是否允许平行滑动。
Vertical:是否允许垂直滑动。
MovementType:移动的类型,Unrestricted:自由的,也就是内容可以随意拖动。Elastic:弹性,内容显示会有一个边界,拖动完之后可以增加一个惯性。Calmped:钳制。不会超出边界。
Inertia:惯性,如果勾选的话,拖动结束之后会有一个缓缓停止的过程。
DecelerationRate:这是减速速率,类似于Damp,勾选到0失去惯性,到1滑动不会停止。
ViewPort:类似于视口的东西,可以定义要显示的范围。

接下来我们就能用这个ScrollRect做一个滑动显示的功能了。只需要把要显示的Panel放在Content之下,就可以愉快的滚动了。布局的话可以使用GridLayout或者手动摆放UI位置也可以。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章