0
点赞
收藏
分享

微信扫一扫

Egret Engine(二十三):JSZip库


搭建

  • 下载​​../libsrc/bin/jszip​​ 文件夹
  • URL:​​https://github.com/egret-labs/egret-game-library/tree/master/jszip/libsrc/bin/jszip​
  • 编辑​​egretProperties.json​​ 文件:
  • ​{ "name": "jszip", "path": "./libs/jszip" }​
  • 命令编译:​​egret build -e​
  • 运行项目:​​egret run -a​

使用

  • 在 Egret 项目中,发布的时候可以使用 压缩插件 将资源(图片,配置文件等)压缩成一个 .zip 文件,然后使用JSZip读取 .zip 文件的内容。

准备

  • 创建文件将文件打包放到​​resource/default.res.json​​ 文件中

使用res获取到zip文件

Egret Engine(二十三):JSZip库_json

RES.getResAsync("demo_zip").then((data) => {
console.log(data);
// 解压,读取
JSZip.loadAsync(data).then((zipdata) => {
console.log(zipdata);
return zipdata.file("Lee.json").async("text");
}).then(text => {
console.log(text);
});
});

加载图片

Egret Engine(二十三):JSZip库_配置文件_02

RES.getResAsync("demo_zip").then((data) => {
// 解压,读取
JSZip.loadAsync(data).then((zipdata) => {
// 把数据解析为base64
return zipdata.file("img/01.png").async("base64");
}).then(base64 => {
base64 = "data:image/png;base64," + base64;
const img: eui.Image = new eui.Image();
img.source = base64;
this.addChild(img);
img.width = img.height = 100;
});
});

生成zip文件 保存到本地

Egret Engine(二十三):JSZip库_游戏引擎_03

const zip = new JSZip();
zip.file("Hello.txt", "Hello World\n");
// 创建images文件夹
const img = zip.folder("images");
// 二进制数据
const imgData = "R0lGODdhBQAFAIACAAAAAP/eACwAAAAABQAFAAACCIwPkWerClIBADs=";
img.file("smile.gif", imgData, { base64: true });
zip.generateAsync({ type: "blob" }).then((blob) => {
saveAs(blob, "example.zip");
});


举报

相关推荐

0 条评论