twzheng's cppblog

『站在风口浪尖紧握住鼠标旋转!』 http://www.cnblogs.com/twzheng

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  136 随笔 :: 78 文章 :: 353 评论 :: 0 Trackbacks
flash.system 包中具有一个包级函数 fscommand(),可方便 SWF 文件与其容器之间的通信。
公共 函数
  函数 定义方
   
fscommand(command:String, args:String = ""):void
使 SWF 文件能够与 Flash Player 或承载 Flash Player 的程序(如 Web 浏览器)进行通讯。
flash.system
函数详细信息
fscommand () 函数
public function fscommand(command:String, args:String = ""):void

 

语言版本 :  ActionScript 3.0
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 页中设置 objectembed 标签的 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适合添加到影片的最后一贞,当然也可以放到一个按钮上来实现“终止影片播放”功能。
posted on 2007-08-21 11:31 谭文政 阅读(1420) 评论(0)  编辑 收藏 引用 所属分类: Flash ActionScript

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理