標籤:web game blog source esb 壓縮 使用 name 內容
一 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() );
Egret 壓縮與解壓(jszip)