Actionscript 3 ByteArray-错误2058:解压缩数据时出错

Actionscript 3 ByteArray-错误2058:解压缩数据时出错,actionscript-3,air,Actionscript 3,Air,我正在为我正在制作的游戏制作数据格式化程序。这是一款格斗游戏,它将导入格式化和压缩的角色/舞台数据,使我更容易制作DLC或扩展内容(如果我决定)。它还将数据加载保持在最低限度 不管怎样,我是这样做的: 角色/阶段需要1个精灵表和1个元数据JSON 从图像中提取位图数据并保存到变量中 使用xor和base64加密的组合加载并加密JSON字符串解密效果良好 生成对象并将它们都放入其中->{sheet:[bitmapData],meta:[cryptString]} 将所有内容写入ByteArray并

我正在为我正在制作的游戏制作数据格式化程序。这是一款格斗游戏,它将导入格式化和压缩的角色/舞台数据,使我更容易制作DLC或扩展内容(如果我决定)。它还将数据加载保持在最低限度

不管怎样,我是这样做的:

角色/阶段需要1个精灵表和1个元数据JSON

从图像中提取位图数据并保存到变量中 使用xor和base64加密的组合加载并加密JSON字符串解密效果良好 生成对象并将它们都放入其中->{sheet:[bitmapData],meta:[cryptString]} 将所有内容写入ByteArray并使用ByteArray.compress进行压缩; 将byteArray写入文件并保存 我认为这相当简单,但当我尝试使用byteArray.uncompress解压其中一个文件时;当然,我在FlashDevelop中遇到了以下错误:

[Fault] exception, information=Error: Error #2058: There was an error decompressing the data.
但是,就在那之前,它正确地跟踪数据

loaded ucd name: dummy
loaded ucd json: {"stats":{},"hitboxData":{},"animationData":{},"name":"dummy"}
这是一只虫子吗??我一定要担心把事情搞砸吗?如果我最终做了扩展字符,我希望能够使这个数据格式化程序成为一个公共工具,这样人们就可以处理自己的字符或阶段,比如,但更简单


抱歉,如果这太详细了,或者其他什么,但这是我第一次问问题,我想确保没有误解:>

没关系,我终于找到了答案!出于某种奇怪的原因,我使用的加载程序运行了两次onComplete函数……至少看起来是这样——所以它尝试了两次解压数据。我没有跑过两次或者其他什么,所以这很奇怪


仍在试图找出是什么导致了这一点,但现在,我只是做了一个resetLoader方法,它关闭加载程序并使其所有变量为空。工作起来很有魅力。

Hmm,你在压缩和解压缩方法上使用了什么算法?您是否尝试过使用其他算法,例如zlib或lzma?im使用默认的no参数。那就是zlib。我试过lzma,同样的结果