Мне кажется, что я немного не в себе: мне нужно найти способ, позволяющий пользователям сохранять свою галактику в космической игре, которую я создаю.На самом базовом уровне мне нужно записать случайно сгенерированную галактику (которая является экземпляром пользовательского класса) на диск, а затем прочитать ее с диска позже.Я раньше не использовал возможности файлового потока Air, и у меня возникли некоторые проблемы.Мой код:
public function saveGame(e:MouseEvent):void
{
trace("save");
var file:File = File.desktopDirectory.resolvePath("test.sv");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeObject(gal);
fileStream.close();
}
public function loadGame(e:MouseEvent):void
{
trace("load");
var file:File = File.desktopDirectory.resolvePath("test.sv");
if (file.exists)
{
var obj:Object;
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.READ);
obj = fileStream.readObject();
fileStream.close();
trace(obj);
}
}
Объект "gal" - это моя галактика, и я убедился, что это действительный экземпляр моего объекта (он содержит дочерние элементы и содержит много переменных), но по какой-то причине файлсозданный на рабочем столе только 1 байт - очевидно, слишком мал, чтобы содержать какую-либо информацию.
Когда я отслеживаю объект во второй функции, он становится пустым.поскольку очень трудно найти эту информацию, четко объясненную для новичка, такого как я.
Спасибо за ваше понимание.