Egret社区
本帖最后由 gamedaybyday 于 2017-3-17 09:13 编辑

引擎版本3.0.6

教程目录
一 为什么要用jszip
二 如何使用jszip
    2.1 下载jszip库
    2.2 导入jszip库
    2.3 加载和解压zip代码
三 Demo源码下载

一 为什么要用jszip
在游戏中有大量配置文件时,为了减少加载次数和传输量,将文件打包成zip,在egret中加载并解压获取数据。

在中大型游戏,不可避免有大量的游戏配置文件。

1.jpg


为了减少加载次数和传输量,我们事先将这些文件压缩打包成zip, 然后在egret中加载,并使用jszip库解压获取其中的数据。



2.jpg


二 如何使用jszip

2.1 下载jszip库
官方gitbug下载地址:https://github.com/egret-labs/egret-game-library

2.2 导入jszip库
将下载的jszip文件夹放到合适位置,我这里直接丢在了项目目录下
3.jpg

打开项目目录下egretProperties.json,将jszip添加到配置文件中
[mw_shl_code=applescript,true]"modules": [
    {
      "name": "egret"
    },
    {
      "name": "game"
    },
    {
      "name": "tween"
    },
    {
      "name": "res"
    },
        {
                "name": "jszip",
                "path": "jszip"
        }
  ][/mw_shl_code]

添加完成后,记得编译一次引擎。
4.jpg

2.3  加载和解压zip代码
[mw_shl_code=applescript,true]//加载zip
RES.getResByUrl("resource/assets/assets.zip", function(data){
              //解压数据
              var zip = new JSZip(data);
              
              //读取技能数据
              var skillJson = JSON.parse(zip.file("skill.json").asText());
              console.log(skillJson);
              
},this, RES.ResourceItem.TYPE_BIN);[/mw_shl_code]

更新一个解压图片的:
参考的教程: https://segmentfault.com/a/1190000002669262
[mw_shl_code=applescript,true]//读取图片
var buffer = zip.file("fire.png").asArrayBuffer();
var base64 = this.arrayBufferToBase64(buffer);
base64 = "data:image/png;base64," + base64;
              
var img:eui.Image = new eui.Image();
img.source = base64;
this.addChild(img);[/mw_shl_code]

[mw_shl_code=applescript,true]private arrayBufferToBase64( buffer ) {  
    var binary = '';  
    var bytes = new Uint8Array( buffer );  
    var len = bytes.byteLength;  
    for (var i = 0; i < len; i++) {  
         binary += String.fromCharCode( bytes[ i ] );  
    }  
    return window.btoa( binary );  
}[/mw_shl_code]



三 Demo源码下载(coding git):
游客,如果您要查看本帖隐藏内容请回复










分享到 :
20 人收藏

174 个回复

倒序浏览
yung  初窥堂奥 | 2017-2-9 10:38:32
+1
fsfs0455  登堂入室 | 2017-2-9 10:38:40
强大,谢谢楼主分享                   。
gamedaybyday  初窥堂奥 | 2017-2-9 10:39:14
fsfs0455 发表于 2017-2-9 10:38
强大,谢谢楼主分享                   。

= = 我特么还没编辑完,你们就来回复了。。
1224631767  登堂入室 | 2017-2-9 10:43:20
gamedaybyday 发表于 2017-2-9 10:39
= = 我特么还没编辑完,你们就来回复了。。

顶顶
ink  初窥堂奥 | 2017-2-9 14:14:34
xiashu  圆转纯熟 | 2017-2-9 14:16:38
好东西值得分享
811372769  初窥堂奥 | 2017-2-9 14:16:57
gameMonkey  略有小成 | 2017-2-9 15:21:11
        +1
gameMonkey  略有小成 | 2017-2-9 15:21:12
        +1
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部