[杨宗宝] Cocos Creator 3.x 常用插件之- CocosZip(限量五折)

1.CocosZip


CocosZip:一款基于Cocos Creator3.x 的文件压缩/解压插件;插件实现了完整的使用流程:快速集成,一键压缩,无脑式解压;同时支持多种文件格式:Image,Json,Text; 与Cocos Creator版本无任何联系 ,无须担心版本调整到来的兼容性问题;

2.操作介绍

0|400x482, 100%,

- 1.一键集成:点击后将会自动在项目assets目录下生成cocos-zip文件夹,
    此文件夹中包含zip文件解压的相关库与封装的接口
- 2.生成Zip:点击后会自动将添加的资源进行压缩->弹出保存目录窗口->选
     择合适的目录(理论上动态加载需要放在项目的resources目录下)->设置
     Zip文件名(例如:res.zip,)
- 3.添加资源:点击添加资源,将会自动在最下边添加资源列表,只需将需要
    添加的资源拖入到列表中
- 4.拖入资源:将对于的资源拖入到此处,目前只支持:Json,Image,Text;
- 5.删除资源:点击对应资源列表后的删除按钮,将会删除对应的资源;

3.详细介绍

1.概述

文件压缩是在计算机领域中非常重要的技术。它可以减少文件的大小,从而节省存储空间,提高数据传输的效率,并减少网络带宽的占用。文件压缩可以显著提高传输速度。较小的文件大小意味着更少的数据需要传输,从而减少了传输时间和网络带宽的占用。

2.性能

在实际的项目使用中,文件压缩可以说是优化的手段之一,但是针对不同平台,文件压缩所带来的效果也是不一样的,文件压缩整体上分为两个阶段,压缩和解压;

  • 压缩:将多个文件或者文件夹中的文件按照一定的算法进行压缩,最终生成一个新的文件;他的特点就是:多文件合并为一个文件,减少文件个数;通过算法减少文件的大小
  • 解压:将压缩的文件,使用其配套的解压缩算法就行解压来获取原始的数据信息;

1.大小

CocosZip将文件压缩功能集成到了编辑器,此处文件压缩的耗时可以忽略不计,主要对比一下文件压缩后的大小,

1

JSON 文件是我们项目开发中最常用的一种个数,可能是关卡数据,可能是配置信息等等;同时他是也在使用CocosZip时最能体现其优势的地方,图片类型的压缩相对JSON来说就没有那么多的包体之前的变化;

2.加载

经过压缩后的文件具有更小的包体,那么相对的加载的耗时也会更小

2

未压缩的JSON文件一次性加载耗时430ms,而压缩后的只需要60ms

3.解压

对于经过压缩的文件来说,那么在使用过程中需要结果解压的过程来获取原数据格式,而未压缩的就不涉及到解压的操作

3

    1. 列表条目

4.总结

以上的数据对比都是基于web平台进行就测试,在web平台,当我动态的加载json资源时,CocosZip可以是我们在更小的包体情况下,还具有相同的加载耗时,7.1M到340kb之间的插件,对于小游戏的20m的包体来说是一个很大的空间;

4.代码解压介绍

CocosZip 宗旨在于让使用更加的简单明了,所以宗宝封装了无脑似的调用函数

  • 1.动态加载zip文件
  path:zip在项目中的路径,例如文件在项目中的路径是:"resources/zip/res.zip",那么此时的path:zip/res;相对于resources的路径,不包含.zip 后缀
  CocosZipMgr.instance.loadZipRes(path, (res: any) => {});

返回数值:

  • 在加载错误的情况下返回null
  • 加载成的情况下返回JSZip对象
  • 2.获取zip中的文件列表
  1.调用getFilesList接口,传入加载时的path
  JSZipMgr.instance.getFilesList(path);
  2.基于第一步加载成功后返回的对象获取
  res.files;
  • 3.加载zip中的指定文件
    第一步只是将zip的数据进行了加载,此时还没有就行解压,那么第二部就是对第一步加载的数据就行解压,并且获取指定的文件
path:与第一步中的path相同,会以path作为key将加载成功后的数据进行存储,用于解压时的快速获取
file:压缩文件中的文件名称,
CocosZipMgr.instance.loadZipFile(path, file, (res: any) => {});

返回数值

  • 如果原数据未Json格式,返回的也是Json格式
  • 如果原数据为Image格式,返回Texture2D
  • 如果原数据为Text格式,返回字符串

5.写在最后

宗宝微信:Carlos13207
获取方式:公众号回复:“CocosZip”

1赞

凡入手宗宝任意商品的小伙伴,私聊宗宝微信,可享受最低5折优惠,数量有限

期待可以支持更多格式

不是很明白这个干什么用的

后边会考虑的 :rofl:

压缩文件,减少包体大小的