一、在预制上挂LoopScrollRect组件 二、导出节点 三、lua层注册调用接口InitLoop,初始化组件,注册滑动事件 self.Scroll:InitLoop(childItems,0,giftNum,handler(self,self.OnRefreshGiftItem),toTop) 四、滑动事件回调会将现有item对象数据初始化, 并且在每次滑动的
LoopScrollRect 是基于 UGUI 的一个用来代替 ScrollRect 的插件,其特点是:不同于原生的 ScrollRect,LoopScrollRect 会根据 Viewport 的大小来加载子元素,比如说我们的总数据条目是 500 条,但 Viewport 只显示得下十来个 cell,这时候 LoopScrollRect 就不会傻傻地生成全部 500 个 cell,大大优化了性能。 按我暂时...
我们这里是垂直方向,所以选择 LoopVerticalScrollRect 组件,把组件替换原有的 ScrollRect,并且绑定与 ScrollRct 相同的 Content 和 Viewport。如果不想响应水平移动,需要把 Horizontal 取消勾选,基本参数类似 ScrollRect。比较特殊的是 Prefab Source 属性。Prefab Name 中的名称需要和我们之前保存的 Cell 预制体相同,Poo...
loopRt = loopObject.GetComponent<RectTransform>(); } public void InitLoopScrollView(int count, List<ItemData> dataList){ this.count = count; datas = dataList; CreateContent(); CaculateMinCount(); CreateLoopObject(); UpdateContent(); scrollRect.onValueChanged.AddListener(OnScrolled); } void Up...
Use the UGUI Circle Loop Scroll Rect from Easycomplex-Tech on your next project. Find this GUI tool & more on the Unity Asset Store.
今天在测试大批量item刷新时候发现的一个有趣的点。基本上基于scroll rect的优化都是从节约item内存开销为原点出发的,但是对原生功能的支持缺乏适配。比如scroll 里滚动的三个方式中,clamped的源码实现如下 说白了就是计算位置和content内锚定位置的距离。在高速拖拽时整个Loop Scrollrect 的逻辑无疑是成立的,对象池更...
而这次以点入手,从小的方面出发,推荐一些的开源组件,避免重复造轮子,能让我们开发事半功倍。(挤出一半时间学习摸鱼学导论)这次先介绍 UI 相关的的三个 PSD2UGUI 、LoopScrollRect 和 DoTween 项目。二、PSD2UGUI1. 项目介绍如果你水过一些游戏开发的群,会经常能看见一个带有调侃性质的称呼,「拼图仔」。虽然带有...
说⽩了就是计算位置和content内锚定位置的距离。在⾼速拖拽时整个Loop Scrollrect 的逻辑⽆疑是成⽴的,对象池更新后content⼤⼩改变,锚定位置刷新,然后判断移动距离平移。问题就出在缓速拖拽下。在拖拽速度很低的情况下,动态item尚未⽣成,滚动位置已经到达底部,此时clamped这种移动⽅式就会阻⽌你...
ScrollRect滚动区域 可以很自然地用来显示超过画面比例的对象 尤其适合用来显示列表,道具库之类 设置好Viewport即显示区域 Content是需要显示的内容 Content的子物件会是显示的主要内容 通过给Content增加LayoutGroup和SizeFitter可以很自动地设置好滚动区域的大小
支持ScrollRect拖动自动吸附功能(拖动是否超过一半自动进退) 前言 要实现以上效果,我从网上搜索得到部分解决方案 链接,但不是完全满足想要的效果,就自己继续改造优化和添加想要的效果,本文最后会附带上完整Demo下载链接。 效果图 缩放滑动效果 缩放循环展示卡牌效果 大量数据无卡顿动态加载,并且支持拖拽、点击和吸附功能 大...