Введение
SWF Maestro поддерживает FSCommand-вызовы, доступные в обычном прожекторе
(projector), создаваемом при помощи Adobe (Macromedia) Flash: allowscale,
exec, fullscreen, quit, showmenu, а также имеет ряд расширенных возможностей,
включая работу с окном приложения, запоминание/восстановление данных,
вызов диалоговых окон и т.д.
Примечания.
Если FSCommand требует несколько аргументов, все аргументы должны быть отделены
друг от друга запятой без дополнительных пробелов. Например, мы хотим передать
команде storage.set два аргумента: UserName и Some Value. FSCommand-вызов в
таком случае должен быть: fscommand(“storage.set”, ”UserName,Some Value”);
FSCommand-вызовы – асинхронны, то есть возвращают исполнение немедленно,
не дожидаясь выполнения команды. Поэтому, если FSCommand-вызов присваивает
значение переменной, оно будет присвоено не сразу после вызова команды.
Для того чтобы запрограммировать код, который исполняется после присвоения
значения переменной, необходимо установить «прослушивание» переменной
с помощью “watch”-функции, доступной в ActionScript. Эта функция принимает
два параметра: первый – это переменная, которая будет прослушиваться,
а второй – это callback-функция, которая будет исполнена сразу после
присвоения значения переменной. Например, так будет выглядеть код, который
читает “UName”-значение из хранилища данных и переходит ко 2му кадру,
если значение непустое:
function watchCallback (id, oldval, newval) {
if(newval=="") {
gotoAndStop(2);
}
};
_root.watch("UserName", watchCallback);
fscommand("storage.get","UName,UserName");
Комментарии:
function watchCallback (id, oldval, newval) { ... }
Сначала описываем функцию, которая будет
исполнена сразу после того, как переменная
получит значение.
_root.watch("UserName",
watchCallback);
Устанавливаем «прослушивание» переменной
UserName с вызовом функции watchCallback. fscommand("storage.get","UName,UserName");
Вызываем команду, которая читает значение UName из хранилища данных и присваивает его переменной UserName.
|