flash.system 包中具有一个包级函数 fscommand
()
,可方便 SWF 文件与其容器之间的通信。
公共 函数
|
函数 |
定义方 |
|
|
fscommand(command:String, args:String = ""):void
使 SWF 文件能够与 Flash Player 或承载 Flash Player 的程序(如 Web 浏览器)进行通讯。
|
flash.system |
public function fscommand(command:String, args:String = ""):void
Player 版本 : |
Flash Player 9 |
使 SWF 文件能够与 Flash Player 或承载 Flash Player 的程序(如 Web 浏览器)进行通讯。 还可以使用 fscommand
()
函数将消息传递给 Director,或是传递给 Visual Basic、Visual C++ 和其它可承载 ActiveX 控件的程序。
fscommand
()
函数使 SWF 文件与 Web 页中的脚本能进行通讯。 不过,脚本访问是由 Web 页的 allowScriptAccess
设置控制的。 (您可以在嵌入 SWF 文件的 HTML 代码中设置此属性,例如,在 Internet Explorer 的 PARAM
标签或 Netscape 的 EMBED
标签中。) 当 allowScriptAccess
设置为 "never"
时,SWF 文件无法访问 Web 页脚本。 对于 Flash Player 7 及更高版本,当 allowScriptAccess
设置为 "always"
时,SWF 文件始终可以访问 Web 页脚本。 当 allowScriptAccess
设置为 "sameDomain"
时,只允许从与该 Web 页位于同一域中的 SWF 文件进行脚本访问;对于以前版本的 Flash Player,始终允许脚本访问。 如果在 HTML 页中未指定 allowScriptAccess
,则默认情况下,对于第 8 版及更高版本的 SWF 文件,该属性设置为 "sameDomain"
;对于第 7 版及更低版本的 SWF 文件,设置为 "always"
。
可以在包含 SWF 内容的 HTML 页中设置 object
和 embed
标签的 allowNetworking
参数,防止 SWF 文件使用此方法。
示例:
下例演示如何使用
fscommand
()
来指示 Flash Player 进入全屏模式并且不允许缩放。 然后使用
draw()
将一个橙色框添加到舞台上。 在
draw()
中,指示 Flash Player 使用对
fscommand
().
的另一个调用来退出,将
click
事件侦听器以名称
clickHandler()
添加进来,它对应于
click
事件。
注意:此示例应在独立的 Flash Player 中执行,而不是在 Web 浏览器中执行。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.system.fscommand;
import flash.events.MouseEvent;
public class FSCommandExample extends Sprite {
private var bgColor:uint = 0xFFCC00;
private var size:uint = 100;
public function FSCommandExample() {
fscommand("fullscreen", "true");
fscommand("allowscale", "false");
draw();
}
private function clickHandler(event:MouseEvent):void {
fscommand("quit");
trace("clickHandler");
}
private function draw():void {
var child:Sprite = new Sprite();
child.graphics.beginFill(bgColor);
child.graphics.drawRect(0, 0, size, size);
child.graphics.endFill();
child.buttonMode = true;
addEventListener(MouseEvent.CLICK, clickHandler);
var label:TextField = new TextField();
label.text = "quit";
label.selectable = false;
label.mouseEnabled = false;
child.addChild(label);
addChild(child);
}
}
}
1]全屏播放指令:
fscommand("fullscreen","true");
效果:flashplayer播放器将以全屏方式进行影片播放。按键盘上的Esc键可跳转回窗口状态。
[2]屏蔽右键菜单指令:
fscommand("showmenu","false");
效果:当观众在flashplayer窗口中单击鼠标右键时,将不会出现快捷菜单。
[3]禁止影片缩放:
fscommand("allowscale","false");
效果:当影片中应用位图时,如果被放大或拉伸显示,将会出现图象模糊或锯齿,为了避免这些影响视觉的现象,使用此指令可以禁止影片尺寸被改变。
[4]使键盘出入无效的指令:
fscommand("trapallkeys","true");
效果:此指令用于锁定键盘输入,使所有设定的快捷键都失效,flashplayer播放器此时不识别任何键盘输入信号。(但注意:无法禁止Ctrl+Alt+Del三键组合)
[5]调用可执行文件指令:
fscommand("exec","command/程序名");
效果:直接打开一个可执行文件,command/ 是一定要的,就是说EXE文件要放在这个目录下
[6]关闭播放器指令:
fscommand("quit");
效果:结束放映,播放器窗口自动关闭,此ACTION适合添加到影片的最后一贞,当然也可以放到一个按钮上来实现“终止影片播放”功能。