Egret 壓縮與解壓(jszip)


一 jszip是什么

二 為什么要用jszip

三 如果使用zip

 

一 jszip是什么

 jszip 是一個 JavaScript 庫,可直接在瀏覽器上創建 zip 壓縮檔。

 

二 為什么要用jszip

當游戲中有大量配置文件(txt或json)需要從服務器上下載時,

可以先將文件壓縮成zip包,在Egret中下載后解壓使用。

當配置文件只有幾個時沒什么,但是有50個60個時,我覺得是需要放到zip包里了。

以前在一家上市游戲公司用Egret開發過項目,里面有相當多的配置文件,就是放在一個zip包里下載的。

 

三 如果使用jszip

首先下載jszip第三方庫,下載地址,Egret官方在github上放的:https://github.com/egret-labs/egret-game-library

 

將jszip放在項目目錄下,放在哪你自選,只要配置中添加路徑時正確就行了。

 

然后在Egret中引用第三方庫,項目目錄下egretProperties.json文件中添加

{
  "native": {
    "path_ignore": []
  },
  "publish": {
    "web": 0,
    "native": 1,
    "path": "bin-release"
  },
  "egret_version": "3.0.6",
  "modules": [
    {
      "name": "egret"
    },
    {
      "name": "game"
    },
    {
      "name": "tween"
    },
    {
      "name": "res"
    },
    {
    "name": "jszip",
    "path": "jszip"
    }
  ]
}

 

 新建一個txt測試文件 a.txt,里面寫個“a”

 

把a.txt壓縮成一個assets.zip測試包

放在resource/assets文件夾下

 

 Egret中加載這個zip包,然后解壓里面的a.txt,並輸出里面的內容。

RES.getResByUrl("resource/assets/assets.zip", function(data){
       var zip = new JSZip(data);
       console.log(zip.file("a.txt").asText());  //輸出a
},this, RES.ResourceItem.TYPE_BIN);

 

當然,a.txt內是json的話,輸出的string可以轉成json來使用

var json = JSON.parse( zip.file("a.txt").asText() );

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM