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

大家好,我是晓衡!

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

我们先来看下效果:

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游戏模型素材点击领取!

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值