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

时间:2015-01-08 00:15:00

标签: actionscript-3 air

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

无论如何,这就是我的意思:

字符/阶段需要1个精灵表和1个元数据JSON

  1. 从图像中提取bitmapData并保存到变量
  2. 使用xor和base64加密(解密正常)
  3. 的组合加载和加密JSON字符串
  4. 制作对象并将它们都放入其中 - > { sheet: [bitmapData], meta: [cryptString] }
  5. 将所有内容写入ByteArray并使用byteArray.compress();
  6. 进行压缩
  7. 将byteArray写入文件并保存
  8. 我觉得这很简单,但是当我尝试解压缩其中一个文件时(当然使用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"}
    

    这是一个错误?我不得不担心它弄乱了吗?如果我最终做扩展角色,我希望能够使这个数据格式化工具成为一个公共工具,这样人们就可以使用自己的角色或阶段,比如MUGEN,但更容易。

    对不起,如果这个太详细或者其他什么,但这是我第一次提出问题,我想确保没有误解:>

1 个答案:

答案 0 :(得分:0)

没关系,我终于发现它是什么!由于一些奇怪的原因,我正在使用的加载器运行两次onComplete函数...至少它看起来像 - 所以它试图将数据解压缩两次。我没有运行两次或任何事情,所以这很奇怪。

仍然试图找出导致这种情况的原因,但是现在,我只是制作了一个resetLoader()方法来关闭加载器并使其所有变量无效。像魅力一样工作。