u3d实现滚动下拉(scrollview实现)

来源:互联网 发布:医疗大数据前景 编辑:程序博客网 时间:2024/06/04 18:53

项目需要实现一个类似下拉的功能,就是在固定的显示区域无法完全显示你需要展示的内容,这时候就需要下拉功能了。

刚开始我想的是用listview来实现,因为也是刚刚开始接触的u3d,对它的各个插件也不什么了解。上网查了下资料,有说ngui可以实现,但是我导入的ngui包不知道是过时的还是超前的,反正就没有那个功能。只能用scroll view来实现了。起初不明白怎么整,但是大概掌握了之后感觉还是挺简单的。

首先新建一个空的gameobject ,直接上图吧:
























然后在kk下面又新建了一个名为Kk的object,在这里边添加scroll view组件,结果如图:




















展开图:


还有这里的Layer的层也要跟上一级的object处于同一个Layer,否则显示不出来。这个层级有点奥妙,我还没有深入研究.







clipping这里一定要选择 soft clip,这样需要下拉的内容在自己规定的size的区域显示,而不是在规定区域外也会显示。


size就是自己规定的区域

























再新建一个空的gameobject,并给它添加grid组件,因为我们在超过规定的区域内没法设置超过内容的位置,所以用grid来自动排列。属性如图:






这里之前有过问题,就是我直接把grid添加在了上一级的kk这个Object上面,导致grid的起始点无法调整,直接在显示区域的中间,最后会给图。











最后添加一个spr,也就是一张图片:

























box collider和drag scroll view一定要加的,否则无法移动。




这样就完成了下拉列表功能了。























给两个状况图:
















这张就是Clipping没有选择soft clip出现的。


第二张:


这个就是直接在添加了scroll view那个object下也添加了组件grid,这样grid的起始点就无法设置了,只能默认的在中间,但是我们需要的是从上面开始。

0 0
原创粉丝点击