• 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() );
  • 相关阅读:
    LeetCode 第三大的数414. Third Maximum Number
    ltp工具使用配置
    eclipse 导入项目时候java版本不一致问题
    GitHub上传不了的解决 ssh: connect to host github.com port 22: Bad file number git did not exit cleanly (exit code 128)
    Python文件中文编码问题
    图算法习题
    VMware连不上网解决
    自定义结构或类的比较
    贪心算法
    编写Lex和Yacc
  • 原文地址:https://www.cnblogs.com/gamedaybyday/p/6099821.html
Copyright © 2020-2023  润新知