一款颜值颇高的虚拟列表!差点就被埋没了,终于还是被我挖出来了

大家好,我是晓衡!

今天,推荐一款颇有颜值的虚拟列表组件,不然真的被埋没就可惜了!

我们先来看下效果:

02e6ca4fd17889a18e06375158b78c4e.gif

0846919b177341b390c0abada13438ea.gif

14b0fb4c341e4ca8d34e3a1e482fa6e4.gif
9c1727463a7a32af1ac52a68ff3da041.gif

感觉怎么样?还不错吧!

为什么说这个资源差点被埋没呢?因为个朋友找到晓衡询问,有没优化过的 ScrollView 能支持 grid 的?

很多人都知道,引擎自带的 ScrollView 功能有限,特别是新手,要将它玩转还真的不太容易。可能用跑是跑起来了,但那体验却是各种糟心,很容易被老板、用户骂娘。

这位朋友问对人了,因为上周我才在 Cocos Store 上发现上面这个虚拟列表(XY),体验了一下效果很是 nice!

我立即在Store上一搜过起来,居然没找出来。

我连续使用了ScrollViewViewScroll 这三个搜索词都不行。

可我当时一下子记不得它叫什么名字了,只好打开资源列表,一页一页地翻。

我硬是找了五六分钟才找到,还好我记得它的图标,有点带治愈卡通风格,很容易识别。d38c1d3b280e1b42364196128d42d938.png

不过,这里需要提醒大家,一定要善用 Cocos Store 后台商品编辑中的关键字功能,看下面这张图:5ea5f2e333f61d559ddee70a5d3b1da2.png

其实作者还是有心的,写有这么多关键词,可唯独少了ScrollView。用户也可以根据应用场景,多尝试几个关键词。

下面,我们再来看看这款 ScrollView 虚拟列表到底有些什么不同?

功能特点

首先要赞一下虚拟列表(XY)支持2.x\3.x引擎,以下是主要功能点:

  • 支持分页模式

  • 支持动态节点大小

  • 支持瀑布流布局

  • 支持同列表下多种节点类型

  • 支持分区布局模式

  • 支持列表嵌套

  • 支持旋转木马布局样式

  • 提供 3D 画廊布局思路

  • 业务清晰,高度可扩展性,注释详细,彻底搞懂工作原理

  • 自定义: 布局业务完全分离,支持自定义列表的布局排列方式

  • 自定义: 提供实时修改节点变换的方法,目前支持实时调整自定义节点的 偏移缩放旋转层级透明度

使用方法

下面是作者提供的使用方法步骤:

  • 创建一个新节点

  • 给节点挂载 YXCollectionView 组件

  • 确定列表内一共需要展示多少条内容

    this.collectionView.numberOfItems = () => this.testData.length
  • 通过 YXCollectionView 组件注册列表上需要显示的节点,可多次注册,支持同列表不同类型的节点,确保 identifier 唯一就好

    this.collectionView.register(`custom identifier`, () => instantiate(this.cellPrefab))
  • 根据实际数据,返回对应的已经注册过的节点,可通过 indexPath 区分数据

    this.collectionView.cellForItemAt = (indexPath, collectionView) => {return collectionView.dequeueReusableCell(`custom identifier`)
    }
  • 更新节点内容

    this.collectionView.onCellDisplay = (cell, indexPath, collectionView) => {let rowData = this.testData[indexPath.item]cell.getChildByName(`Label`).getComponent(Label).string = `${rowData.value}`
    }
  • 根据实际布局情况,配置一个合适的 YXLayout 布局对象

    let layout = new YXFlowLayout()
    layout.scrollDirection = YXFlowLayout.ScrollDirection.VERTICAL
    layout.itemSize = new math.Size(600, 200)
    layout.verticalSpacing = 20
    this.collectionView.layout = layout
  • 刷新列表

    this.collectionView.reloadData()

在线体验

说了这么多,最好还是自己去体验感受一下!

120087becacbbcc3c65b9f2949dc05d2.png

Cocos Creator 2.4.13 在线演示项目

  • https://568071718.github.io/cocos-creator-build/collection-view/2.4.13

Cocos Creator 3.8.0 在线演示项目

  • https://568071718.github.io/cocos-creator-build/collection-view/3.8.0

作者Cocos论坛技术帖

  • https://forum.cocos.org/t/topic/157984

Cocos Store下载地址:

  • https://store.cocos.com/app/detail/6249

今天的分享就到这里,晓衡的愿景是帮助1000名开发者,独立挣钱10W+。如果你有Cocos Creator的游戏、工具、教程分享,欢迎加我微信!

51502f0b96d954ae0b081b287e63879b.jpeg

3d6d76cd2a8e27c7dcc0e3cbc9d5a9be.png

472ad2030b640a24d70db3d7d92411d7.gif

ChatGPT-4o来了!使用WildCard一分钟极速体验

关不住啊!最新6个爆款小游戏源码上新!

微信小游戏分包最佳实践

微信畅玩榜我发现暗藏的几个惊天大秘!

500+免费CC0游戏模型素材点击领取!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/14713.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用数据,简单点!奇点云2024 StartDT Day数智科技大会,直播见

在充满挑战的2024,企业如何以最小化的资源投入和试错成本,挖掘新的增长机会,实现确定性发展? “简单点”是当前商业环境的应对策略,也是奇点云2024 StartDT Day的核心理念。 5月28日,由奇点云主办的2024 S…

Linux —— 信号量

Linux —— 信号量 什么是信号量P操作(Wait操作)V操作(Signal操作)信号量的类型 一些接口POSIX 信号量接口:其他相关命令: 基于循环队列的生产者和消费者模型同步关系 多生产多消费 我们今天接着来学习信号…

【译】组复制和 Percona XtraDB 集群: 常见操作概述

原文地址:Group Replication and Percona XtraDB Cluster: Overview of Common Operations 在这篇博文中,我将概述使用 MySQL Group Replication 8.0.19(又称 GR)和 Percona XtraDB Cluster 8 (PXC)(基于 Galera&…

Jetbrains插件AI Assistant,终于用上了

ai assistant激活成功后,如图 ai assistant获取:https://web.52shizhan.cn/activity/ai-assistant 主要功能如下

计算机毕业设计hadoop+spark微博舆情大数据分析 微博爬虫可视化 微博数据分析 微博采集分析平台 机器学习(大屏+LSTM情感分析+爬虫)

电商数据建模 一、分析背景与目的 1.1 背景介绍 电商平台数据分析是最为典型的一个数据分析赛道,且电商数据分析有着比较成熟的数据分析模型,比如:人货场模型。此文中我将通过分析国内最大的电商平台——淘宝的用户行为,来巩固数…

算法打卡 Day13(栈与队列)-滑动窗口最大值 + 前 K 个高频元素 + 总结

文章目录 Leetcode 239-滑动窗口最大值题目描述解题思路 Leetcode 347-前 K 个高频元素题目描述解题思路 栈与队列总结 Leetcode 239-滑动窗口最大值 题目描述 https://leetcode.cn/problems/sliding-window-maximum/description/ 解题思路 在本题中我们使用自定义的单调队列…

C语言指针指针和数组笔试题(必看)

前言: 前面介绍了指针的大体内容,如果接下来能够把这些代码的含义搞得清清楚楚,那么你就是代码king! 一维数组: int a[] {1,2,3,4}; printf("%d\n",sizeof(a)); printf("%d\n",sizeof(a0)); pr…

element-ui输入框和多行文字输入框字体不一样解决

element-ui的type"textarea"的字体样式与其他样式不同 <el-input type"textarea"></el-input> <el-input ></el-input>设置&#xff1a; .el-textarea__inner::placeholder {font-family: "Helvetica Neue", Helvetic…

删除MySQL中所有表的外键

方法一&#xff1a; 原理 查询schema中所有外键名称然后拼接生成删除语句 第一步&#xff1a; SELECT CONCAT(ALTER TABLE ,TABLE_SCHEMA,.,TABLE_NAME, DROP FOREIGN KEY ,CONSTRAINT_NAME, ;) FROM information_schema.TABLE_CONSTRAINTS c WHERE c.TABLE_SCHEMA数据库名…

Linux修炼之路之自动化构建工具,进度条,gdb调试器

目录 一&#xff1a;自动化构建工具make/makefile 生成内容&#xff1a; 清理内容&#xff1a; 对于多过程的&#xff1a; 对于多次make&#xff1a; 特殊符号&#xff1a; 二&#xff1a;小程序之进度条 三&#xff1a;git的简单介绍 四&#xff1a;Linux调试器gdb 接…

fpga 提高有什么进阶书推荐?

到FPGA中后期的时候就要开始接触&#xff0c;如&#xff1a;高速接口、光纤数字信号处理等项目实践了&#xff0c;那么我们可以读一些书进行提升&#xff0c;大家可以收藏下。 高速接口项目《嵌入式高速串行总线技术:基于FPGA实现与应用》作者&#xff1a;张锋 FPGA提升书籍推…

Go团队:Go是什么

2024年的Google I/O大会[1]如期而至。 这届大会的核心主旨毫无疑问是坚定不移的以AI为中心&#xff1a;Google先是发布了上下文长度将达到惊人的200万token的Gemini 1.5 Pro[2]&#xff0c;然后面对OpenAI GPT-4o的挑衅&#xff0c;谷歌在大会上直接甩出大杀器Project Astra[3]…

第七节 ConfigurationClassParser 源码分析

tips&#xff1a; ConfigurationClassParser 是 Springframework 中的重要类。 本章主要是源码理解&#xff0c;有难度和深度&#xff0c;也枯燥乏味&#xff0c;可以根据实际情况选择阅读。 位置&#xff1a;org.springframework.context.annotation.ConfigurationClassPars…

[LLM-Agents]浅析Agent工具使用框架:MM-ReAct

上文LLM-Agents]详解Agent中工具使用Workflow提到MM-ReAct框架&#xff0c;通过结合ChatGPT 与视觉专家模型来解决复杂的视觉理解任务的框架。通过设计文本提示&#xff08;prompt design&#xff09;&#xff0c;使得语言模型能够接受、关联和处理多模态信息&#xff0c;如图像…

Multi-Attention Transformer for Naturalistic Driving Action Recognition

标题&#xff1a;用于自然驾驶行为识别的多注意力Transformer 源文链接&#xff1a;https://openaccess.thecvf.com/content/CVPR2023W/AICity/papers/Dong_Multi-Attention_Transformer_for_Naturalistic_Driving_Action_Recognition_CVPRW_2023_paper.pdfhttps://openaccess…

java读取shp文件,获取点位

Testvoid contextLoads() {System.out.println(System.currentTimeMillis());//1716516228057 1716516228798String zipFilePath "C:\\code\\risk\\risk_management_backend\\edatope-app\\src\\main\\resources\\新中心范围SHP导入模板.zip";String destDir &quo…

思科模拟器--06.单臂路由升级版--多端路由互连实验--24.5.20

实验图纸如下: 第0步: 先放置六台个人电脑,一台交换机和一台2911路由器(千兆路由器(G0开头的)) 接着,用直通线将 PC0的F0,PC1的F0分别和交换机的F0/0, F0/1连接 交换机的F0/3和路由器的G0/0连接 PC2的F0,PC3的F0分别和交换机的F0/4, F0/5连接 交换机的F0/6和路由器的G0/1…

电脑连接爱快iKuai软路由之后,网卡没有正常获取到IP,无法访问爱快路由管理页?

前言 上一次咱们说到在爱快控制台上设置/辨认lan口&#xff0c;设置完成之后&#xff0c;其他的一些设置就需要在爱快iKuai软路由的管理页面上设置。 有些小伙伴会发现&#xff0c;当电脑连接上爱快软路由的lan口之后&#xff0c;电脑并没有正常获取到ip&#xff0c;导致无法访…

JavaScript表达式和运算符

表达式 表达式一般由常量、变量、运算符、子表达式构成。最简单的表达式可以是一个简单的值。常量或变量。例&#xff1a;var a10 运算符 运算符一般用符号来表示&#xff0c;也有些使用关键字表示。运算符由3中类型 1.一元运算符&#xff1a;一个运算符能够结合一个操作数&…

【Arthas】阿里的线上jvm监控诊断工具的基本使用

关于对运行中的项目做java监测的需求下&#xff0c;Arthas则是一个很好的解决方案。 我们可以用来 1.监控cpu 现成、内存、堆栈 2.排查cpu飚高 造成原因 3.接口没反应 是否死锁 4.接口慢优化 5.代码未按预期执行 是分支不对 还是没提交&#xff1f; 6.线上低级错误 能不能不重启…