命令的基本格式为:
fscommand(cmd_string, arg_string)
cmd_string指定所要执行的指令名,arg_string声明该指令所用到的参数。

FlashPlayer的指令有(只能在独立播放器时使用):
“fullscreen” 是否全屏播放,参数为true或false
“allowscale” 是否允许通过拉伸窗口缩放影片,参数为true或false
“showmenu” 是否在播放器显示菜单,参数为true或false
“trapallkeys” 是否屏蔽播放器的快捷键(如Esc表示停止播放并恢复
“save” 隐藏属性,作用是存变量到文本文件.
视窗显示),参数为true或false。但Alt+F4系统快捷键(关闭窗口)依然可用。
“exec” 运行arg_string所指定的文件。

  下面我们就来讲讲如何通过Fscommand指令来实现全屏播放、取消Flash播放时的右键菜单以及关闭Flash动画。

  1、全屏播放Flash

  “Fullscreen”是全屏的意思,在默认的情况下,Flash动画不是以全屏播放(false),如果需要让动画以全屏状态播放,就必须把Fullscreen命令设置为True,写为:
  
Fscommand (“Fullscreen”,”True”);
  根据需要,我们可以把它写到帧、按钮、MC(Movie Clip)中。

  2、取消右键菜单

  Showmenu命令是用来设置是(True)否(false)显示Flash动画播放器的快捷菜单的全部指令,即右击鼠标时弹出的菜单,默认为True,如果要取消弹出的菜单,必须在第一帧这样设置:
  
Fscommand (“showmenu”,”false”);

  3、关闭动画

  quit命令是用来关闭播放器的.swf和.exe文件,该命令没有参数,写为:
  
fscommand (“quit”);

  如果你想在flash动画结束时出现一个关闭动画的按钮,可以按下面的步骤做。

  执行“Insert”下的“New Symbol”(或按Ctrl+F8),在弹出的窗口中选Button,然后制作一个简单的按钮,回到场景中,选中最后一帧,从“Library”中把刚刚建立的按钮拖到场景中,因为该按钮在动画的最后才显示。

  给按钮写上如下代码,则实现按下按钮即关闭flash动画。

  
on (release)
   {
    fscommand (“quit”);
  }

3、调用exe文件

必须满足下列条件:
1)你的flash文件不能是swf,而应该是exe文件,比如jimsons.exe;
2)要在jimsons.exe同一目录中新建一命名fscommand目录,你要调用的外部可执行文件要在fscommand目录下,且不能在子目录下,比如是notepad.exe,请copy notepad.exe到fscommand目录下;
3)action的写法为:
on (release) {
fscommand(“exec”, “notepad.exe”);
}
4)导出exe格式
发布方法如下:
选中 File -> Publish Settings 或按ctrl+shift+F12
它默认的发布类型为HTML(.html)与Flash(.swf),
你将这两项取消,选中Windows Projectors(.exe)
即可将你的Flash文件直接发布为exe可执行文件
按ctrl+F12即可发布
若你的文件尚未保存则它会发布在你flash的安装目录中
若你的文件已保存则会发布在你的文件同一目录下
还有一种比较简便的方法是:
先用 File -> Export Movie…或按Ctrl+Alt+Shift+S 导出swf文件
再打开这个文件,通过 文件 -> 创建播放器 即可产生EXE可执行文件

1 Comment

  1. 本方法只适用于Windows 98 及 Windows ME! Windows 2000, XP 以及 Vista 等都不适用了

    但外国人有用一个方法是可行的,配上一个独有的proxy.exe档来使用

    照ActionScript 3.0的写法应该类似如下:

    以下为‘AS’原始码
    function clickHandler(event:MouseEvent):void {
    fscommand(“exec”, “test.exe”);
    trace(“clickHandler”);
    }
    abc.addEventListener(MouseEvent.CLICK, clickHandler);

    function clickHandler(event:MouseEvent):void {
    fscommand(“exec”, “test.exe”);
    trace(“clickHandler”);
    }
    abc.addEventListener(MouseEvent.CLICK, clickHandler);

    附件中 /fscommand/test.exe 即是这个 proxy.exe 档(需配合改名)

    其余见附件example.rar 马上就知道
    http://bbs.flash2u.com.tw/dispbbs_36_82488_1.html

    本方法使用 Flash CS3 ActionScript 3 撰写,在 Windows 2003 server 上测试无误

Leave a Reply to flash2u Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.