前言

此篇文章当作知识学习即可,需要使用循环复用的小伙伴可以尝试博主近期开发的ScrollCircleMaker v1.0,此插件功能比较完整,使用方便,如果遇到问题可以联系我进行修改。

当ScrollView下的物体很多上百上千的时候,不可能去实例化出来这么多物体,这个时候需要优化了,不然drawcall会很大很大 ,所以笔者花了1,2天时间去写了一个比较实用的工具,那就是ScrollView无限循环滚动,接下来给大家展示一下效果(剪掉了一些帧数因为太大上传不了,实际效果更加丝滑),如下:

自我感觉写的还是比较完善的,item样式刷新和点击事件的注册等等的基本功能,支持4个方向的无限滚动的,自适应Content大小进行布局,下面是使用的教程和设计的基本思路,最下面也将附上Demo工程的下载路径。

需要在Content下添加GridLayoutGroup,代码会读取GridLayoutGroup下的一些参数,然后会把GridLayoutGroup组件禁用掉,美术可以设置GridLayoutGroup的参数去查看无限滚动的预期效果,接下来和大家讲解一下设计的思路和一些代码的片段, 首先需要计算可显示区域行列最大值是多少,如果上下滚动的话,计算出来最大行还需要加1,这样子最大行*最大列就是需要初始化的item个数,当然需要把所有的item数据存在List<object>下用来刷新item,所以初始化这个工具类需要做这些事情,如图下:

可以看到这里还将一个函数传递进去,这个Text类是继承了ItemBase这个抽象类,一个Item将对应上一个Text的实例,实例化一个Item的时候就调用一下传递进去的委托创建一个Text实例对应上,初始化显示的时候按顺序调用ItemBase的函数,如图下:

之后就是刷新的问题(这里就单单讲从上到下显示的刷新,其他都差不多),刷新需要先监听ScollView的拖动,所以如图下:

刷新的思路是如果向下移动的时候,第一行完全被覆盖了,这样就把第一行刷新到最下面的一行,改变位置和调用UpdaView改变Item样式,以此循环,向上刷新的时候第一行间距大于纵向间距,将最后的一行刷新到最前面的一行,接下展示一下代码的片段,如图下:

工程的下载链接:https://download.csdn.net/download/m0_37920739/11186683

Unity的ScrollView无限循环滚动相关推荐

  1. unity实现图片轮播效果_unity 背景无限循环滚动效果

    背景无限循环滚动效果如下示: 步骤如下: 导入背景图片后,设置图片的格式,如下图: 2.图片格式也可以设置是Texture格式,但是Wrap Mode 一定要是Repeat[重复发生]:然后记得App ...

  2. ios之实现自动无限循环滚动视图(1)

    ios之实现自动无限循环滚动视图(1) 前言 效果展示 功能 分析 全部代码 前言 ios实现无限循环滚动主要有两种办法,都利用了UIScrollView,第一种是创建一个很大的UIScrollVie ...

  3. 【Android】ViewPager实现无限循环滚动

    最近做的一个项目,客户要求在ViewPager实现的主页面中滑动到最后一页后继续滑动能返回到第一页,也就是实现无限循环滚动,效果如下: 看了下ViewPager没有滑到尽头的回调方法,因此想到的解决方 ...

  4. JQuery图片无限循环滚动源码

    平常项目中经常用到图片循环滚动,所以就写些必要的CSS定位,JS基本算法,最后就封装成JQuery图片无限循环滚动插件类,其实本质上是li块无限循环滚动,li块里面不管是图片还是其它内容,都OK的. ...

  5. [jQuery基础] jQuery动效案例(二) -- 图标特效、无限循环滚动(简易轮播图)

    图标特效 实现效果展示 实现步骤 第一步(实现静态效果) CSS部分 *{margin: 0;padding: 0; } ul{list-style: none;width: 400px;height ...

  6. Swiper:无限循环滚动时出现空白页/页面内容不刷新

    问题描述 使用Swiper插件实现列表的无限循环滚动效果,记录遭遇的两个问题:①滚动到某页时界面显示空白:②用id唯一标识列表中需要动态改变的值,在改变某一id的div内容后,页面显示内容并未改变 问 ...

  7. 文字/图片向上无限循环滚动

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  8. 在线直播系统源码,横向无限循环滚动的单行弹幕效果

    在线直播系统源码,横向无限循环滚动的单行弹幕效果实现的相关代码 实现思路分析 要实现上面的效果,我们先拆分下实现要素: 1.弹幕布局是从屏幕的右侧向左侧滚动,单个弹幕之间的间距是固定的(设计要求) 2 ...

  9. Unity3d学习笔记-无限循环滚动背景(完整的商店广告牌组件)

    在游戏项目中我们常常看到商城的广告牌,几张广告图片循环滚动,类似跑马灯,现在我将讨论一种实现方法,并提供一个管理类,大家可以直接使用. 实现原理:背景图片循环滚动的原理很简单:两张图片向一个方向移动, ...

最新文章

  1. Karpathy更新深度学习开源框架排名:TensorFlow第一,PyTorch第二
  2. linux查找技巧: find grep xargs amp;amp; linux系统信息查看大全
  3. OpenAI逆炼以文生图:参数缩水2/3性能却更强,还get局部编辑新技能|可试玩
  4. (最小生成树)Truck History --POJ -- 1789
  5. 2021-06-04
  6. hihoCoder 1367 等式填空
  7. VS2015 error LNK2019 无法解析的外部符号 _WinMain@16,该符号在函数 int __cdecl invoke_main(void)
  8. Ubuntu16.04-LTS升级到18.04
  9. html:(5):了解html的代码注释和语义化
  10. mysql 备份_shell脚本实现MySQL全量备份+异地备份
  11. react 父子传值_React父子组件传值
  12. 全网首发:GB18030中,蒙文的错误
  13. 精选36道SQL练习题解析 from(原50道SQL练习题)
  14. oracle数据库审计要素,明御数据库审计及风险控制系统招标参数.docx
  15. 军事训练飞机的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  16. docker容器和镜像的区别
  17. excel 如何用公式函数去除单元格的空格和回车 并进行 单元格字符串比对
  18. 简单的PHP登陆页面和登陆成功页面代码
  19. XP电脑桌面图标文字带上颜色不透明 解决办法
  20. CISA 考试大纲及考点

热门文章

  1. 计算机视觉基础__图像特征
  2. 在word文档中打印大号字
  3. Windows10关闭系统防火墙
  4. 2022语言与智能技术竞赛启动 全球热门的中文NLP赛事它来了
  5. python定义类带参数_类的定义、构造方法和参数传递
  6. Sublime Text 有哪些使用技巧
  7. 拉姆.查兰管理实践奖2018:新经济的“瞻前顾后”
  8. 庄子 内篇 齐物论第二
  9. php mysql只获取一条数据_php mysql 查询只返回第一条数据
  10. pythonturtle怎么画_python的turtle能画啥