/ / ActionScript 3: Jak zapisać dane binarne do plików - flash, actionscript-3

ActionScript 3: zapisywanie danych binarnych do plików - flash, actionscript-3

Robię edytor poziomów dla mojej gry i muszęzapisz dane tilemap (tablica uint 120x120) i dane postaci (typ znaku, pozycja, obrót, statystyki itp.) do pliku .bin. Jak mogę to zrobić? Wiem, że mogę to zrobić za pomocą XML, ale nie jest to dobre do zapisywania tilemaps ... Dzięki

Odpowiedzi:

1 dla odpowiedzi № 1

To, czego szukasz, to FileReference funkcja zapisu klasy. Zobacz tutaj: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/FileReference.html#save()

Działa to tylko w programie Flash Player 10+ i wymagainterakcja z użytkownikiem. (Pojawi się okno dialogowe zapisu) Te ograniczenia istnieją ze względów bezpieczeństwa, jeśli chcesz mieć możliwość bezpośredniego zapisywania much (bez interakcji użytkownika), musisz użyć AIR, zobacz FileStream klasa za to: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filesystem/FileStream.html

Aby zapisać rodzime obiekty Flash w zewnętrznym pliku i załadować je ponownie, będziesz musiał zapisać dane w pliku ByteArray pierwszy. ByteArray ma dwie metody (writeObject i readObject), które sprawiają, że jest to trywialne. Spójrz tutaj: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/ByteArray.html

Powodzenia.


0 dla odpowiedzi nr 2

Jeśli jest to gra internetowa, która ma być uruchamiana w przeglądarce internetowej i chcesz zapisać dane w systemie użytkowników (nie na serwerze WWW), mogę wymyślić dwie opcje:

Jeśli możesz zainstalować Flash Player 10, możeszzapisuj i ładuj dane do iz lokalnych plików na żądanie użytkowników, takie jak kliknięcie przycisku (nie dowolne z dowolnego miejsca w kodzie) oraz standardowe okno dialogowe pliku. Widzieć FileReference.save ().

Możesz także przechowywać dane w lokalnym SharedObject. Dane mogą być odczytywane i zapisywane bez użycia użytkownikainterakcja lub okno dialogowe pliku. Następnie Flash Player serializuje dane, ale myślę, że powinieneś być w stanie zapisać dane, które opisujesz w ten sposób.