четверг, 6 января 2011 г.

Урок 9. SharedObject

Урок 9
SharedObject

Иногда нужно сохранить какие-нибудь переменные, например, рекорды. Из-за одной переменной создавать базу данных на сервере или txt файл на компьютере слишком странно. Что же сделать? Оказывается, во флеше есть специальная функция, которая называется SharedObject. Она позволяет сохранить небольшое количество данных в самой swf. Этого “небольшого количества” точно хватит на сотню рекордов, а большего нам пока что и не нужно. Пример, где запоминается количество кликов:




Как это сделать? – довольно просто. Я уже не буду объяснять как создать текстовое поле и проч. У меня текстовое поле названо txt. Вот, в общем-то, код:



var Shared_test:SharedObject = SharedObject.getLocal("test");
if(Shared_test.size==0){
 Shared_test.data.num=0;
}
txt.text=Shared_test.data.num;
stage.addEventListener(MouseEvent.CLICK,updateTextField);
function updateTextField(e:MouseEvent){
 Shared_test.data.num+=1;
 txt.text=Shared_test.data.num;
 Shared_test.flush();
}

Мало, правда?)

if(Shared_test.size==0){
 Shared_test.data.num=0;
}

Это нужно на тот случай, если переменная ещё не объявлена и её значение NaN, а нам этого точно не нужно.

Shared_test.flush(); - запоминает всё, что мы изменили в переменной Shared_test.
Переменные можно добавлять, объявляя их Shared_test.data.переменная.

Покликайте. Закройте. Откройте и, если всё сделано правильно, то количество кликов сохранится. ;) Ну, и, конечно же, исходник)

На этом пока что всё.

3 комментария:

  1. Спасибо большое!

    ОтветитьУдалить
  2. воо давно искал) для мини игр очень полезная вещь! Спасибо автору)

    ОтветитьУдалить
  3. огромное спасибо автору!

    ОтветитьУдалить