文档首页> 云计算> 蓝易云:Flash中fscommand中常用参数

蓝易云:Flash中fscommand中常用参数

发布时间:2025-12-12 00:05       

蓝易云:Flash 中 fscommand 常用参数解析 🔧

先把结论说清楚:
在 Flash 里,fscommand 用来让 SWF 和“外部容器”通信(如独立播放器、Projector EXE、宿主程序等),常用来做:全屏、禁止缩放、屏蔽右键菜单、退出程序、调用外部程序等。虽然 Flash 已在现代浏览器中停用,但在老项目、离线课件、展厅大屏里,这套东西依然在跑。💿


一、fscommand 基本语法与作用机制

1. 函数原型

fscommand("fullscreen", "true");

代码逐行解释:

  • fscommand(...):调用的是 Flash 提供的全局函数,核心作用是让 SWF 向宿主发送一条“指令”。
  • 第一个参数 "fullscreen":这是 <span style="color:red;">command</span>,表示要执行的指令类型,这里是“切换是否全屏”。
  • 第二个参数 "true":这是 <span style="color:red;">args</span>,表示该指令的参数值,这里表示“开启全屏”。

通用说明:

  • <span style="color:red;">command</span>:字符串,指令名,例如 "fullscreen""showmenu""exec"
  • <span style="color:red;">args</span>:字符串形式的参数,具体含义取决于 command,比如 "true" / "false" 或某个文件名。

二、fscommand 常用内置指令与参数 💡

1. 全屏显示:fullscreen

fscommand("fullscreen", "true");

解释:

  • "fullscreen":告诉 Flash 播放器切换全屏模式。
  • "true":开启全屏;如果写 "false" 就是关闭全屏。
  • 常见用法:在影片第一帧写这行,让 Projector EXE 一启动就全屏播放,用于开场动画、展厅播放。
  • 注意:在现代浏览器里基本已经不会生效,主要用于本地播放器或 EXE 投影。

2. 禁止缩放:allowscale

fscommand("allowscale", "false");

解释:

  • "allowscale":控制是否允许用户改变播放器窗口大小时,让影片一起缩放。
  • "false":禁止缩放——无论用户怎么拖动窗口,影片内容尺寸保持不变。
  • 业务价值:
    • 避免位图被放大后出现锯齿、模糊。
    • 避免因为全屏伸展导致 UI 变形。

3. 屏蔽右键菜单:showmenu

fscommand("showmenu", "false");

解释:

  • "showmenu":是否显示 Flash 播放器默认右键菜单。
  • "false":隐藏大部分右键菜单选项(通常还会保留一个“关于 Flash Player”的项,这属于播放器自身行为)。
  • 使用场景:做课件、展厅 demo、光盘菜单时,避免用户“乱点右键”,提升沉浸感。

4. 捕获键盘:trapallkeys

fscommand("trapallkeys", "true");

解释:

  • "trapallkeys":控制播放器是否将键盘输入都“交给影片”。
  • "true":让 Flash 捕获绝大多数按键事件,用于做键盘控制的交互内容(例如键盘翻页、游戏方向键控制)。
  • 注意:一些系统级组合键仍不会被完全屏蔽,比如 <span style="color:red;">Ctrl+Alt+Del</span>,这是操作系统安全层面保护。

5. 退出播放器:quit

fscommand("quit");

解释:

  • "quit":这里直接作为唯一参数传入(AS2 里使用时 args 可略),表示让 Flash 播放器或 Projector EXE 退出。
  • 常见用法:
    • 放在影片最后一帧:播放完开场动画后自动退出。
    • 按钮事件里:点击“退出”按钮关闭全屏程序。

例如按钮里的写法(AS2 风格):

on (release) {
    fscommand("quit");
}
  • on (release):表示鼠标“按下并松开”按钮时触发。
  • fscommand("quit");:执行退出命令,关闭当前 Projector 窗口。

6. 调用外部程序:exec

fscommand("exec", "startmenu.exe");

解释:

  • "exec":表示执行一个外部可执行文件。
  • "startmenu.exe":要调用的外部程序名称,通常放在投影文件同目录或指定的子目录中。
  • 使用限制:
    • 仅在 Projector EXE、本地播放器里有效;
    • 路径通常要求相对路径,并且受安全策略影响;
    • 现代系统环境下,杀毒软件或安全策略可能会拦截。

典型场景:CD 光盘菜单,点击 Flash 里的按钮后启动某个安装程序或文档浏览器。


三、fscommand 与自定义指令(与宿主通信)

fscommand 也可以用自定义的 <span style="color:red;">command</span> 和