【咸鱼教程】JsZip压缩与解压教程
引擎版本3.0.6
教程目录
一 为什么要用jszip
二 如何使用jszip
2.1 下载jszip库
2.2 导入jszip库
2.3 加载和解压zip代码
三 Demo源码下载
一 为什么要用jszip
在游戏中有大量配置文件时,为了减少加载次数和传输量,将文件打包成zip,在egret中加载并解压获取数据。
在中大型游戏,不可避免有大量的游戏配置文件。
为了减少加载次数和传输量,我们事先将这些文件压缩打包成zip, 然后在egret中加载,并使用jszip库解压获取其中的数据。
二 如何使用jszip
2.1 下载jszip库
官方gitbug下载地址:https://github.com/egret-labs/egret-game-library
2.2 导入jszip库
将下载的jszip文件夹放到合适位置,我这里直接丢在了项目目录下
打开项目目录下egretProperties.json,将jszip添加到配置文件中
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
|
"modules": [ { "name": "egret" }, { "name": "game" }, { "name": "tween" }, { "name": "res" }, { "name": "jszip", "path": "jszip" } ] |
添加完成后,记得编译一次引擎。
2.3 加载和解压zip代码
|
01
02
03
04
05
06
07
08
09
10
|
//加载zipRES.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); |
更新一个解压图片的:
参考的教程: https://segmentfault.com/a/1190000002669262
|
1
2
3
4
5
6
7
8
|
//读取图片 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); |
|
1
2
3
4
5
6
7
8
9
|
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 ); } |
三 Demo源码下载(coding git)
【咸鱼教程】JsZip压缩与解压教程的更多相关文章
- Linux 学习笔记 5 文件的下载、压缩、解压、初步认识yum
写在前面 上节我们通过简单的几组命令,已经完全的实现了文件的移动.删除.更名.以及复制,我们最常用的基本玩法,本节将带着大家学习压缩.解压的相关步骤. Linux 学习笔记 4 创建.复制.移动.文件 ...
- Zip 压缩、解压技术在 HTML5 浏览器中的应用
JSZip 是一款可以创建.读取.修改 .zip 文件的 javaScript 工具.在 web 应用中,免不了需要从 web 服务器中获取资源,如果可以将所有的资源都合并到一个 .zip 文件中,这 ...
- Linux操作系统中,*.zip、*.tar、*.tar.gz、*.tar.bz2、*.tar.xz、*.jar、*.7z等格式的压缩与解压
zip格式 压缩: zip -r [目标文件名].zip [原文件/目录名] 解压: unzip [原文件名].zip 注:-r参数代表递归 tar格式(该格式仅仅打包,不压缩) 打包:tar -cv ...
- Linux压缩与解压常用命令
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- Asp.net中文件的压缩与解压
这里笔者为大家介绍在asp.net中使用文件的压缩与解压.在asp.net中使用压缩给大家带来的好处是显而易见的,首先是减小了服务器端文件存储的空间,其次下载时候下载的是压缩文件想必也会有效果吧,特别 ...
- Java实现文件压缩与解压
Java实现ZIP的解压与压缩功能基本都是使用了Java的多肽和递归技术,可以对单个文件和任意级联文件夹进行压缩和解压,对于一些初学者来说是个很不错的实例.(转载自http://www.puiedu. ...
- linux下压缩与解压(zip、unzip、tar)详解
linux下压缩与解压(zip.unzip.tar)详解 2012-05-09 13:58:39| 分类: linux | 标签:linux zip unzip tar linux命令详解 |举报|字 ...
- HttpClient与APS.NET Web API:请求内容的压缩与解压
首先说明一下,这里的压缩与解压不是通常所说的http compression——那是响应内容在服务端压缩.在客户端解压,而这里是请求内容在客户端压缩.在服务端解压. 对于响应内容的压缩,一般Web服务 ...
- linux下文件压缩与解压操作
对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rap.可 ...
随机推荐
- 用C++做微信公众平台开发的后台开发时,用sha1加密验证的方法
微信公众平台开发时,须要验证消息是否来自微信server,这要用到sha1加密算法.官网上给的是php的sha函数,C++中要用到以下这个函数: 一.引入头文件: #include<openss ...
- 【Intel AF 2.1 学习笔记一】AF程序结构
Intel App Framework(原jqMobi)是用来开发hybrid app的开源免费框架,被intel收编之后发布了最新的2.1版本,最近正在学习.af的所谓程序结构,就是AF网页的架构, ...
- https://www.cnblogs.com/zy-jiayou/p/7661415.html
Maven常用命令 1.1.Maven 参数 -D 传入属性参数 -P 使用pom中指定的配置 -e 显示maven运行出错的信息 -o 离线执行命令,即不去远程仓库更新包 -X 显示maven允许的 ...
- css 中的相对定位和绝对定位
1.默认不写position的话,值为static. 2.相对定位:相对于元素自己本身的位置偏移,虽然位置偏移,但元素本身占据的空间并不释放. 3.绝对定位:相对于离它最近的,position不为st ...
- Ubuntu18.10安装网易云音乐(图文并茂!)
听音乐,怎么少得了网易云音乐,下面我们在Ubuntu18.10上来安装下: 首先进入网易云音乐的下载页:https://music.163.com/#/download,选择下载Ubuntu版本: 我 ...
- QT基础:QMainWindow学习小结
简述 普通的桌面应用程序有个共同的特性,有菜单栏.工具栏.状态栏.中央窗口等部件.菜单栏其实可以看成是一个窗口,菜单栏中的每一个菜单也可以看成一个窗口,每个部件基本都可以认为是一个窗口.那么这些典型的 ...
- Sublime的插件Color Highlighter的安装方法
ColorHighlighter是一个显示选中颜色代码的视觉颜色的插件.如果您选择“# fff“,它将向您展示白色.ColorHighlighter支持所有CSS颜色格式,如Hex,RGB,HSL,H ...
- SpringMVC由浅入深day01_4DispatcherSerlvet.properties
4 DispatcherSerlvet.properties DispathcerServlet作为springmvc的中央调度器存在,DispatcherServlet创建时会默认从Dispatch ...
- SqlServer当前月份时间
SqlServer当前月份时间 SELECT -DAY(getdate()+-DAY(getdate()))
- weblogic上部署项目出错
一. Unable to access the selected application. Exception in AppMerge flows' progression Exception in ...