版本:2.4.2
參考:
Demo下載地址:zipDemo
jszip的實際項目應用
游戲中有大量配置的情況下,文件會變得非常大,所以有些游戲會采用zip包壓縮解壓
例如如下游戲,將游戲配置config.json壓縮成zip包,加載后進行解壓使用
拿到他的配置壓縮包
將.bin改成.zip,進行解壓,得到游戲的所有json配置文件
未壓縮之前6M+
壓縮后文件 500KB+,壓縮后小了10倍左右。
在cocos中使用jszip
首先,在github上下載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); }) }); }) } }
加載解析成功,輸出