【咸鱼教程】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
|
/ / 加载 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 ) ; |
更新一个解压图片的:
参考的教程: https://segmentfault.com/a/1190000002669262
1
2
3
4
5
6
7
8
|
/ / 读取图片 var buffer = zip . file ( "fire.png" ) .asArrayBuffer ( ) ; var base 64 = this.arrayBufferToBase 64 ( buffer ) ; base 64 = "data:image/png;base64," + base 64 ; var img : eui.Image = new eui.Image ( ) ; img.source = base 64 ; this.addChild ( img ) ; |
1
2
3
4
5
6
7
8
9
|
private arrayBufferToBase 64 ( buffer ) { var binary = ''; var bytes = new Uint 8 Array ( 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.可 ...
随机推荐
- [linux]Error: failure: repodata/repomd.xml from fedora: [Errno 256] No more mirrors to try.
在使用fedora17 系统的yum源的时候出现了例如以下错误: Error: failure: repodata/repomd.xml from fedora: [Errno 256] No mor ...
- hive kettle 学习笔记
学习网址 http://wiki.pentaho.com/display/BAD/Transforming+Data+within+Hive
- Oracle高级查询之CONNECT BY
为了方便大家学习和测试,所有的例子都是在Oracle自带用户Scott下建立的. Oracle中的select语句可以用start with ... connect by prior ...子句实现递 ...
- 手机端网页使用html5地理定位获取位置失败的解决办法
网上有很多关于html5 geolocation 获取地理定位的方法,我试了下,只有在IE edge浏览器可以成功获取到,在chrome,firefox,手机端的safari,QQ浏览器,微信浏览器, ...
- 最新Java校招面试题及答案
本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 ...
- HTML5标签canvas图像处理
摘要: canvas可以读取图片后,使用drawImage方法在画布内进行重绘.本文介绍canvas的图像处理 drawImage drawImage() 方法在画布上绘制图像.画布或视频.drawI ...
- MySQL 高性能表设计规范
良好的逻辑设计和物理设计是高性能的基石, 应该根据系统将要执行的查询语句来设计schema, 这往往需要权衡各种因素. 一.选择优化的数据类型 MySQL支持的数据类型非常多, 选择正确的数据类型对于 ...
- SpringBoot------使用Fastjson解析Json数据
方法一: 1.在pom.xml文件下添加依赖包 <dependency> <groupId>com.alibaba</groupId> <artifactId ...
- [转]PHP判断字符串是纯英文、纯汉字或汉英混合(GBK)
PHP判断字符串是否为中文(或英文)的方法,除了正则表达式判断和拆分字符判断字符的值是否小于128 外还有一种比较特别的方法. 使用php中的mb_strlen和strlen函数判断 方法比较简单:分 ...
- Python对象(上)
Python是一门面向对象的语言,在Python中一切都是对象,函数是对象,类型也是对象. 下面就看看Python中对象相关的内容. Python对象基本概念 Python对象有三个基本的要素: 身份 ...