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" );
Другие вопросы по тегам