SWF Maestro: универсальный компилятор для создания приложений, игр, хранителей экрана из SWF файлов

Введение

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.