ActionScript 3: как сохранить двоичные данные в файлы - PullRequest
0 голосов
/ 14 ноября 2010

я делаю редактор уровней для своей игры, и мне нужно сохранить данные карты тайла (массив uint размером 120x120) и данные о персонажах (тип персонажа, положение, поворот, статистика и т. Д.) В файл .bin.Как мне это сделать?Я знаю, что могу сделать это с помощью XML, но это не очень хорошо для сохранения мозаичных карт ... Спасибо

Ответы [ 2 ]

1 голос
/ 14 ноября 2010

Что вам нужно, так это функция сохранения класса FileReference. Смотрите здесь: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/FileReference.html#save()

Это работает только в Flash Player 10+ и требует взаимодействия с пользователем. (Появится диалоговое окно сохранения). Эти ограничения существуют по соображениям безопасности. Если вы хотите сохранять мухи напрямую (без взаимодействия с пользователем), вам придется использовать AIR, см. Ссылку FileStream class для этого: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filesystem/FileStream.html

Чтобы сохранить собственные объекты Flash во внешний файл и загрузить их снова, сначала необходимо записать данные в ByteArray. ByteArray имеет два метода (writeObject и readObject), которые делают это тривиальным. смотрите здесь: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/ByteArray.html

Удачи.

0 голосов
/ 14 ноября 2010

Если это веб-игра, запускаемая в веб-браузере, и вы хотите сохранить данные в пользовательской системе (не на веб-сервере), я могу предложить два варианта:

Если все в порядке, если требуется Flash Player 10, вы можете сохранять и загружать данные в локальные файлы и из них по запросу пользователя, такому как нажатие кнопки (не произвольно из любого места в вашем коде) и через стандартное диалоговое окно файла.См. FileReference.save () .

. Вы также можете хранить данные в локальном SharedObject .Данные могут быть прочитаны и записаны без вмешательства пользователя или диалогового окна файла.Затем Flash Player сериализует данные для вас, но я думаю, что вы сможете сохранить данные, описанные вами таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...