如何在CocosCreator中使用JSZip压缩
作者:gamedaybyday 发布时间:2024-04-22 22:16:54
标签:Cocos,JSZip,压缩
CocosCreator版本:2.4.2
jszip的实际项目应用
游戏中有大量配置的情况下,文件会变得非常大,所以有些游戏会采用zip包压缩解压
例如如下游戏,将游戏配置config.json压缩成zip包,加载后进行解压使用
拿到他的配置压缩包
将.bin改成.zip,进行解压,得到游戏的所有json配置文件
未压缩之前6M+
压缩后文件 500KB+,压缩后小了10倍左右。
在cocos中使用jszip
首先,在github上下载jszip库
https://github.com/Stuk/jszip
将下载的jszip.min.js放在项目assets/libs下,将jszip.d.ts放在项目根目录的libs下。 (jszip.d.ts在demo中)
将游戏的配置文件,多个json,压缩成zip包,并将后缀zip改为bin,放在resources/config下
代码中加载bin文件,并解析获取其中的游戏物品配置GameItem.json
const {ccclass, property} = cc._decorator;
@ccclass
export default class Helloworld extends cc.Component {
onLoad(){
//加载config.bin
cc.resources.load("config/config", (err, assets:any)=>{
//解析
JSZip.loadAsync(assets._buffer).then((zip)=>{
//获取GameItem.json配置
zip.file("GameItem.json").async("text").then((data)=>{
console.log(data);
//string转成json格式
let json = JSON.parse(data);
console.log(json["1"].name);
})
});
})
}
}
加载解析成功,输出
来源:https://www.cnblogs.com/gamedaybyday/p/13567043.html


猜你喜欢
- 如何更改CentOS系统下的MySQL数据库目录位置1、首先我们需要关闭MySQL,命令如下:service mysqld stop2、然后
- 一、匹配版本基于Camunda 7.16.0 + Springboot 2.5.8首先我们去官网找到camunda7.16对应的spring
- 目录最终版本过程借鉴代码思考urllib.request和requestsBeautifulSoup优化处理总结代码复制可直接使用,记得pi
- 去掉数据重复 增加两个字段 alter TABLE T_Employee Add FSubCompany VARchar(20); ALTE
- 实例如下:#!/usr/bin/env python# -*- coding: utf-8 -*-import socket#创建一个soc
- 所使用python环境为最新的3.6版本一、安装pdfminer模块 安装anaconda后,直接可以通过pip安装pip install
- 花式打印9*9乘法表#第一个计数器i = 1while i < 10: #第二个计数器 j = 1  
- 【OpenCV】⚠️高手勿入! 半小时学会基本操作⚠️ 腐蚀膨胀概述OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今
- 如果MySQL服务器启用了二进制日志,你可以使用mysqlbinlog工具来恢复从指定的时间点开始 (例如,从你最后一次备份)直到现在或另一
- 主要知识点涉及if选择结构判断语句、数组的定义、定时器、清除定时器、日期对象的使用。1.HTML结构<!DOCTYPE html>
- %r用rper()方法处理对象%s用str()方法处理对象相同结果有些情况下,两者处理的结果是一样的,比如说处理int型对象。例:print
- 学校有一、二、三。。。。至十班。假设每个班上有30名学生。张、李、刘、苏等现有这样的表 student ,字段 class 及name 。其
- 这一篇笔记我们简述一下MySQL的B+Tree索引到底是咋回事?聚簇索引索引到底是如何长高的。一点一点看,其实蛮好理解的。如果你看过了我之前
- 我们的机器学习任务通常会跟全局图像的问题有关(例如,“图像是否包含一只猫呢?”),所以我们最后一层的神经元应该对整个输入的全局敏感。通过逐渐
- Python json 错误xx is not JSON serializable解决办法在使用json的时候经常会遇到xxx
- 微信支付、支付宝等第三方支付,需要和银联、网联对接,有清算机构和银行的交易处理通道成本。下文说的费率是指支付手续费的费率,在用户支付的时候,
- 1.如何在网页中插入空格 我们在用Dreamweaver的所见即所得编辑模式下编辑中文网页时,往往需要
- 本文以实例形式展示了Yii使用find findAll查找出指定字段的实现方法,分享给大家供大家参考之用。具体方法如下:总所周知,采用如下方
- 使用mysql二进制方式连接您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。实例以下是从命令行中连接mys
- 我想把存在数据库里的每天24小时来访者数另放到一个Excel文件中去,可以吗?可以,其实就是将数据库里面的内容生成一个Excel文件:toe