unity 滚动视图的优化

来源:互联网 发布:大学c语言入门 编辑:程序博客网 时间:2024/06/05 04:52

为什么要做滚动视图的优化呢,我举个例子就明白了!


比如说,你现在正在做一个游戏的排行榜,需要按玩家成绩将前500名显示出来,这时,当你第一次打开这个排行榜的时候,按照非优化的做法,那么你得立即实例化500个Item,这样会造成一个什么现象呢,那就是一个字,卡


有些人会说,这还不简单,我把这实例化后的滚动视图缓存起来不就行了吗,的确是一种优化,但是依然没有解决第一次打开排行榜界面很卡的问题


今天的这篇文章就可以解决第一次打开卡顿的问题!


插件如下: http://pan.baidu.com/s/1geCNzRt


其实这个插件很简单,也就三个脚本,用了该插件的脚本,就无需再考虑用UGUI的网格布局组和Content Size filter ,下面我就讲一讲如何在软件开发中使用这个插件!


1 先设置一下UGUI的屏幕自适应
这里写图片描述


这里写图片描述


2 看看下面的架构,照着搭
这里写图片描述


3 在第2步把滚动视图的位置和区域确定后,接着就可以建一个Item,然后将其做成预设体,供后续使用


4
这里写图片描述


5
这里写图片描述


6 通过上面的步骤,一个滚动视图的架子已经搭好了,下面就是程序中为滚动视图添加内容

这里写图片描述



我在做的过程中,按照上面步骤,发现滚动视图是有了,但是视图总是可以滚动到视野的最下边,最后发现还是锚点(Anchors)的问题,锚点要严格比照demo来

Scroll Rect 层级锚点的设置

这里写图片描述


UI Wrap Content层级
这里写图片描述


Content层级
这里写图片描述


预设体层级
这里写图片描述



特别注意:

经过上面的步骤,你已经可以做一个经过优化了的滚动试图,但是可能你会遇到我这样的问题,在非拖动条件下,滚动视图中的第一个Item只出现一半,或者滚动视图中最后一个Item只出现一半,可以尝试这样解决

这里写图片描述


这里写图片描述



有时候,你会发现左边太贴边啦,而插件又没有margin这一说,因此对Item采取以下办法
这里写图片描述


注意在拖动过程中,每一个Item身上的数据都变化啦,但是这些变化后的数据要及时的应用,那么就需要手动触发应用
这里写图片描述


FR:海涛高软(www.xuhaitao123.com)

1 0
原创粉丝点击