2015-01-08 77 views
1

我正在製作我正在製作的遊戲的數據格式化程序。這是一個格鬥遊戲,它會導入格式化和壓縮的角色/舞臺數據,使我更容易製作DLC或擴展內容,如果我決定。它也將數據加載保持在最低限度!ByteArray - 錯誤#2058:解壓縮數據時發生錯誤

無論如何,這裏就是我怎麼回事吧:

字符/階段需要1個精靈表和1元JSON從圖像

  1. 提取的位圖數據,並保存到一個變量
  2. 負荷使用xor和base64加密的組合加密JSON字符串(解密正常)
  3. 使對象成爲對象並將它們放入它中 - >{ sheet: [bitmapData], meta: [cryptString] }
  4. 令狀Ë所有到ByteArray並壓縮使用byteArray.compress();
  5. 寫的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"} 

這是一個錯誤嗎?我不得不擔心它搞砸了什麼?如果我最終做擴展字符,我希望能夠使這個數據格式化工具成爲一個公共工具,以便人們可以使用他們自己的角色或階段,如MUGEN,但更容易。

對不起,如果這是過於詳細或什麼的,但是這是我第一次問一個問題,我想,以確保沒有誤解:>

+0

嗯,你使用'compress'和'uncompress'方法的算法是什麼?你有沒有嘗試過使用其他算法,比如zlib或lzma? – DodgerThud

+0

即時通訊使用默認(無參數)。那將是zlib。我試過lzma,結果相同 – SnaiLegacy

回答

0

沒關係,我終於找到了這是什麼!出於某種奇怪的原因,我使用的加載器運行了兩次onComplete函數......至少它看起來像它 - 所以它試圖解壓兩次數據。我沒有兩次運行onComplete或任何東西,所以這很奇怪。

仍然試圖找出是什麼導致了這一點,但現在,我只是做了一個resetLoader()方法,它關閉加載程序並將其全部變量全部刪除。像魅力一樣工作。