摘要:语言的项目里,要用对压缩过的文件解压缩。压缩二进制数据解压二进制数据好了。中可以直接保存对象到文件,但不行,所以构造成成通用的格式,压缩后保存。保存的配置文件叫,以的形式加载,然后再把字符串转成即可。
TS语言的Laya项目里,要用typescript对压缩过的文件解压缩。文件是AS3写的工具导出的。
怎么办,上github找一个库,地址如下
https://github.com/imaya/zlib.js
下载找到的zlib.js或zlib.min.js文件
自己编写zlib.min.d.ts文件,代码如下
export namespace Zlib { class Inflate { constructor(data:any); decompress(): any; } class Deflate { constructor(data:any); compress():any; } }
把zlib.min.js和zlib.min.d.ts文件放到项目里
这种工具性质的代码,最好写成上下文无关的静态类方法。
export class ByteUtil { * 压缩 二进制数据 * @param bytes * @returns Array.or Uint8Array */ public static compress(bytes:Laya.Byte):any { var byte8 = new Uint8Array(bytes.buffer); var defate = new Zlib.Deflate(byte8); var compressed = defate.compress(); return compressed; } /** * 解压 二进制数据 * @param compressed Array. or Uint8Array */ public static uncompress(compressed: any): Laya.Byte { var inflate = new Zlib.Inflate(compressed); var plain = inflate.decompress(); var plainByte: Laya.Byte = new Laya.Byte(plain); return plainByte; } }
好了。AS3中可以直接保存Object对象到文件,但js、ts不行,所以构造成成通用的JSON格式,压缩后保存。
保存的配置文件叫joeng.data,以Laya.Loader.BUFFER的形式加载,
let configData:Laya.Byte = new Laya.Byte(); configData.writeArrayBuffer(Laya.Loader.getRes("res/pre/joeng.data")); let configUint8Array = new Uint8Array(configData.buffer); configData = ByteUtil.uncompress(configUint8Array); configData.pos = 0; let configStr:string = configData.getUTFBytes();
然后再把字符串configStr转成object即可。
本文参考自https://blog.csdn.net/sjt2238...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/103558.html
摘要:中还有大量的小工具,让你的工作更有效率。快速共享服务器是内置的服务器,使用端口和协议共享。安装解压缩常用操作是著名的包管理工具,在开发中必不可少。安装示例最后介绍的示一个强大的工具。 ...
摘要:是什么是一个使下载和运行更快的工具。它解析您的,分析它,删除死代码并重写并最小化剩下的内容。它还检查语法,变量引用和类型,并警告常见的陷阱。其他参数这里使用默认运行后就可以看到生成了压缩的文件了。其他的代码压缩工具 1.Google Closure Compiler是什么? The Closure Compiler is a tool for making JavaScript dow...
摘要:要从头开始,请继续使用构建。文件夹应包含项目运行单元测试的报告。由于该项目尚未进行任何单元测试,因此该报告无效。使用构建项目是启动构建的首选方式。现在可用于构建项目。概要恭喜您现在已经创建了一个简单而有效的构建文件,用于构建项目。 本指南将引导您使用Gradle构建一个简单的Java项目。 你要构建什么 您将创建一个简单的应用程序,然后使用Gradle构建它。 你需要什么 大约15分...
阅读 2042·2021-11-23 09:51
阅读 2187·2021-09-29 09:34
阅读 3647·2021-09-22 15:50
阅读 3537·2021-09-22 15:23
阅读 2500·2019-08-30 15:55
阅读 680·2019-08-30 15:53
阅读 3045·2019-08-29 17:09
阅读 2598·2019-08-29 13:57