Казахстан, Алматы, Гимназия им. Ахмета Байтурсынова №139, 2008 |
Работа флэш-программ в Internet
Shared Objects
Иногда возникает необходимость использовать во Флэш что-то вроде cookies. Допустим, у вас есть какой-то флэш-сервис на сайте, например, игра, в которой пользователь может ввести свое имя, и вы хотели бы, чтобы это имя сохранилось и отображалось в игре при каждом следующем заходе пользователя на сайт.
Для решения такой задачи во Flash MX есть специальная технология - Shared Objects. Она работает примерно так же, как cookie: флэш-ролику предоставляется объект, который затем сохраняется на локальном диске, и который можно запросить при следующем запуске флэш-ролика.
Рассмотрим использование Shared Objects на примере флэш-ролика, имеющего текстовое поле, содержимое которого можно редактировать; мы сделаем так, чтобы это содержимое автоматически сохранялось между запусками ролика.
Считаем, что у нас на сцену помещено текстовое поле ввода, которое называется ' txt '.
Поместим в первый кадр такой код:
txt.onChanged = function () { //обработчик изменения текста в текстовом поле var obj = SharedObject.getLocal("savedObject"); // получаем хранимый объект с именем "savedObject" obj.data.text = txt.text; // сохраняем в его поле data нужные нам свойства (это // специальное поле, и только оно сохраняется на диске) obj.flush(); //записываем объект на диск } obj = SharedObject.getLocal("savedObject"); // при каждой загрузке ролика получаем объект, и если в нем // сохранен текст, записываем его в текстовое поле. if (obj.data.text != undefined) { txt.text = obj.data.text; }
Запустив эту программу увидим, что содержимое текстового поля действительно сохраняется. Обратите внимание, что метод SharedObject.getLocal в одном случае создал нам новый сохраняемый объект, а в другом (когда объект с запрошенным именем нашелся в хранилище) - выдал уже имеющийся.