SWF Maestro: versatile SWF-to-EXE, SWF-to-SCR compiler with a lot of features. Creates applications, games, screensavers from SWF files.

Introduction

SWF Maestro supports FSCommand calls available in the standard projector created with Adobe (Macromedia) Flash: allowscale, exec, fullscreen, quit, showmenu, and also has a number of advanced features including working with the application window, saving/using data, opening dialog boxes, etc.

Notes.
If an FSCommand requires several arguments, they must be separated with a comma without extra spaces. For example, you want pass two arguments for the storage.set command: UserName and Some Value. The FSCommand call will look like this in this case: fscommand(“storage.set”, ”UserName,Some Value”);

FSCommand calls are asynchronous, which means that they return execution at once without waiting till the command is executed. That is why if an FSCommand call assigns a value to a variable, it will be assigned not right after the command is called. To create some code executed after the value is assigned to the variable, you should enable listening to the variable using the “watch” function available in ActionScript. This function takes two parameters: the first one is the variable to listen to, the second one is the callback function that will be executed right after the value is assigned to the variable. For example, that is what the code that reads the “UName” value from the data storage and jumps to the 2nd frame if the value is not empty will look like:

function watchCallback (id, oldval, newval) {
  if(newval=="") {
       gotoAndStop(2);
  }
};

_root.watch("UserName", watchCallback);

fscommand("storage.get","UName,UserName");

Comments:
function watchCallback (id, oldval, newval) { ... }
First describe the function that will be executed right after the variable is assigned the value.

_root.watch("UserName", watchCallback);
Enable listening to the variable named UserName with calling the watchCallback fucntion.

fscommand("storage.get","UName,UserName");
Call the command that reads the value named UName from the data storage and assigns it to the UserName variable.