Actionscript 3.0 - приращение текстового файла
Я ищу быстрый и простой способ хранить переменные в текстовом файле, а не использовать amfphp для подключения к базе данных, и все, что мне нужно сделать, это увеличивать значения при каждом нажатии кнопки.
Было бы лучше, если бы все переменные были в одном и том же текстовом файле, но если бы мне нужно было иметь по одному для каждой переменной, это было бы нормально.
3 ответа
Настольные приложения могут использовать классы AIR File и FileStream.
Посмотрите пример protozoo для этого.
Однако, если необходимо шифрование, используйте EncryptedLocalStore
учебный класс.
var myVar:int=100; //This is what you'll increemnt.
var bytesToWrite:ByteArray=new ByteArray();
bytesToWrite.writeInt(myVar);
EncryptedLocalStore.setItem("myVar", bytesToWrite);
Чтобы получить значение,
var storedValue:ByteArray = EncryptedLocalStore.getItem("myVar");
var readVar:int=storedValue.readInt();
Вы не сможете сохранить файл без всплывающего диалогового окна файла (возможно, в AIR, но я его не проверял), поэтому это может быстро стать раздражающим. Если это только для внутреннего использования - так как вам не требуется доступ к нему вне флэш-памяти, - вместо этого проверьте класс SharedObject: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/SharedObject.html
Работает почти так же, как обычный объект, он просто сохраняется в течение нескольких игр
Если ваше приложение является настольным, вы можете использовать классы AIR File и FileStream в режиме APPEND, например:
// create the file reference
var file:File = File.documentsDirectory;
file = file.resolvePath("air_tests/saved_by_AIR.txt");
// create a stream object to read/write, and open in in APPEND mode
var stream:FileStream = new FileStream();
stream.open(file, FileMode.APPEND);
// add a new line to the text file
stream.writeUTFBytes( (new Date()).toString() + "\n" );