一、在预制上挂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,大大优化了性能。 按我暂时...
Use the UGUI Circle Loop Scroll Rect from Easycomplex-Tech on your next project. Find this GUI tool & more on the Unity Asset Store.
我们这里是垂直方向,所以选择 LoopVerticalScrollRect 组件,把组件替换原有的 ScrollRect,并且绑定与 ScrollRct 相同的 Content 和 Viewport。如果不想响应水平移动,需要把 Horizontal 取消勾选,基本参数类似 ScrollRect。比较特殊的是 Prefab Source 属性。Prefab Name 中的名称需要和我们之前保存的 Cell 预制体相同,Poo...
而这次以点入手,从小的方面出发,推荐一些的开源组件,避免重复造轮子,能让我们开发事半功倍。(挤出一半时间学习摸鱼学导论)这次先介绍 UI 相关的的三个 PSD2UGUI 、LoopScrollRect 和 DoTween 项目。二、PSD2UGUI1. 项目介绍如果你水过一些游戏开发的群,会经常能看见一个带有调侃性质的称呼,「拼图仔」。虽然带有...
今天在测试大批量item刷新时候发现的一个有趣的点。基本上基于scroll rect的优化都是从节约item内存开销为原点出发的,但是对原生功能的支持缺乏适配。比如scroll 里滚动的三个方式中,clamped的源码实现如下 说白了就是计算位置和content内锚定位置的距离。在高速拖拽时整个Loop Scrollrect 的逻辑无疑是成立的,对象池更...
public void InitLoopScrollView(int count, List<ItemData> dataList){ this.count = count; datas = dataList; CreateContent(); CaculateMinCount(); CreateLoopObject(); UpdateContent(); scrollRect.onValueChanged.AddListener(OnScrolled); } void UpdateContent(){ ...
在⾼速拖拽时整个Loop Scrollrect 的逻辑⽆疑是成⽴的,对象池更新后content⼤⼩改变,锚定位置刷新,然后判断移动距离平移。问题就出在缓速拖拽下。在拖拽速度很低的情况下,动态item尚未⽣成,滚动位置已经到达底部,此时clamped这种移动⽅式就会阻⽌你继续移动。直接锁死在原对象池的content锚定位置。...
要注意动画要勾选好是否loop 动画组件中有一项Apply Root Motion,这一项是影响动画的属性变化是否影响对象本身的真实情况,如当勾选此项时,人物动画中往前走对象坐标就会往前改变,若不勾选的话动画则不印象真实属性 混音器AudioMixer 通常把所需的声音输出到AudioMixer再输出给玩家 ...
1.给ScrollRect节点添加LoopListView组件,并勾选ItemSnapEnable为true。 2.通过LoopListView.InitListView初始化时,totalCount需要传-1. 3.OnGetItemByIndex的回调参数index以(Int32.MinValue,Int32.MaxValue),需要自己做好与数据的索引换算。