Written by: Radina Matic (the original tutorial will be updated whenever new issues come around)
Time: 30 - 45 minutes
Difficulty Level: Beginner
Requirements: Flash 5 and/or MX, burning software and chosen 3rd party tools (optional)
Topics Covered: publishing and working with Flash projectors, crossplatform CD burning
Assumed knowledge: basic Flash interface manipulation, basic notions about CD burning


1. Why using Standalone Projector?

Whenever you want to distribute your Flash creations offline (and you do not want to worry if the user has Flash Player installed or not) you have the option to publish your movie as Standalone Projector. In File menu chose Pubblish Settings and check the Windows Projector or Macintosh Projector option in the dialog window. This will "wrap" your .swf movie into a Standalone Flash Player which can be reproduced outside the browser. You can find the Standalone Player (together with Player Installers) in the folder where where you installed Flash on your computer (usualy it is C:\Program files\Macromedia\Flash 5\Players on Windows).

2. Mac Projector vs. Windows Projector

Standalone Projector for Windows has normal .exe extension, while Mac Projector published on Windows version of Flash has the extension .hqx. HQX is not executable file, it is form of encoding (kind of Mac's Zip file) which packs together the two file forks Mac files have: Data fork and Resource fork. It will not open on PC if you click on it (because it has to be decoded), and it will not work if you burn it just like that on CD with PC (for burning issues see bellow).

If you have one main movie and you want to load other .swf files in it, you ONLY need to publish the main one as .exe/hqx, not all of them.


3. FSCommand for Standalone Projector


You can access fscommands for standalone player through Actions panel:

Flash 5 Flash MX

a) PC/Windows issues

Flash 5 supports six FSCommands:

  • fullscreen - With this option you can able/disable fullscreen viewing of you movie. You can put it in the frame or button (if you prefere leaving this choice to the user):

    fscommand("fullscreen", "true");

  • allowscale - If you want to mantain aspect ratio of your movie and prevent it from being scaled by the user you should set this option to 'false':

    fscommand("allowscale", "false");

    Sometimes (when you set your projector to fullscreen and you want to mantain its aspect ratio by allowscale/false), when you have some objects outside the stage, they will eventualy be seen even if you don't want them to. You can solve this problem by putting a Mask with the size of your stage on the topmost layer of your movie to cover all off-stage objects. Another thing to remember is that any .swf you load into the main projector inherits its allowscale settings.

  • showmenu - 'False' argument will disable the upper menu (File/View/Control/Help) and all right click menu options except "About Macromedia..." in Flash 5 and "Configuration" and "About..." in Flash MX.

    fscommand ("showmenu", "false");

    There is no way to eliminate completely right click menu (or put our own one) without some 3rd party tool (even though you could do it in Hex Editor if you know how - check Sx's threads in Resources). Title bar ("Flash" in Flash 5 and "Macromedia Flash Player 6 " in Flash MX) and icon can also be removed/changed only with 3rd party tools.

  • trapallkeys - If you don't use this option (or you put it to 'false') user can exit fullscreen mode of your projector by pressing Esc key. 'True' argument locks all keys, but user can still access Status bar by pressing Windows key - if projector is set fullscreen - and exit your projector by pressing Alt + F4. Some non-advanced users may not know how to use these keys combinations, so be sure to put some exit button if your projector is set to fullscreen and you used trapallkeys/true.

    fscommand("trapallkeys", "true");

  • quit - As its name says, it closes your projector. You can put it into button or frame (no parameters needed):

    fscommand("quit");

  • exec - This command revealed itself to be the most interessting because it gives us the oportunity to make movies communicate with other programs, open files in their default applications and lot more (see Resources for more details):

    fscommand ("exec", "c:\\windows\\notepad.exe");

    This will open Notepad from Flash 5 projector. "Exec" fscommand in Flash MX is severely crippled for security reasons and it does not allow passing arguments anymore. It can only open programs (applications, not specific documents in their default programs as it was possible before) which must be located in the fscommand folder on the root of projector file (no need to put this fscommand folder in the path, Flash already know it is supposed to look for it there).
In Flash 5 there is also an undocumented "save" FSCommand which allows you to write variables to users HD and it was (also) suppressed in Flash MX. You can try using Shared Local Objects instead or 3rd party tools to regain some of the "old power" of 'Exec' and 'Save' fscommands.