2010-11-14 128 views
0

即時爲我的遊戲做一個關卡編輯器,我需要將地圖數據(120x120 uint數組)和字符數據(字符類型,位置,旋轉,統計等)保存到一個.bin文件。我該怎麼做?我知道我可以通過使用XML來做到這一點,但它不適合保存瓷磚地圖...謝謝ActionScript 3:如何將二進制數據保存到文件

回答

1

你在找什麼是FileReference類的保存功能。看到這裏:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/FileReference.html#save()

這隻適用於Flash Player 10+,並且需要用戶交互。 (它會彈出一個保存對話框)這些限制是出於安全原因,如果你想能夠直接保存蒼蠅(沒有用戶交互),你將不得不使用AIR,請參閱FileStream class ref for :http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filesystem/FileStream.html

要將原生Flash對象保存到外部文件並再次加載它們,您需要首先將數據寫入ByteArrayByteArray有兩個方法(writeObject & readObject),這使得這個微不足道。看到這裏:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/ByteArray.html

祝你好運。

+0

我將使用FileReference,謝謝 – 2010-11-16 04:36:22

0

如果它是一個基於Web的遊戲,在Web瀏覽器中運行,並且要保存用戶的系統(而不是Web服務器上)上的數據,我能想到的兩個選項:

如果需要使用Flash Player 10,則可以根據用戶請求在本地文件中保存和加載數據,例如單擊按鈕(不會從代碼中的任何位置任意選擇)以及通過標準文件對話框。見FileReference.save()

您還可以將數據存儲在本地SharedObject。數據可以在沒有用戶交互或文件對話框的情況下讀取和寫入。然後,Flash Player會爲您序列化數據,但我認爲您應該能夠保存您以這種方式描述的數據類型。

相關問題