fscommand(),可方便 SWF 文件與其容器之間的通信。| 函數(shù) | 定義方 | ||
|---|---|---|---|
|
fscommand(command:String, args:String = ""):void
使 SWF 文件能夠與 Flash Player 或承載 Flash Player 的程序(如 Web 瀏覽器)進(jìn)行通訊。
|
flash.system | ||
| fscommand | () | 函數(shù) |
public function fscommand(command:String, args:String = ""):void
| 語(yǔ)言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9 |
使 SWF 文件能夠與 Flash Player 或承載 Flash Player 的程序(如 Web 瀏覽器)進(jìn)行通訊。 還可以使用 函數(shù)將消息傳遞給 Director,或是傳遞給 Visual Basic、Visual C++ 和其它可承載 ActiveX 控件的程序。
fscommand()
函數(shù)使 SWF 文件與 Web 頁(yè)中的腳本能進(jìn)行通訊。 不過(guò),腳本訪問(wèn)是由 Web 頁(yè)的 fscommand()allowScriptAccess 設(shè)置控制的。 (您可以在嵌入 SWF 文件的 HTML 代碼中設(shè)置此屬性,例如,在 Internet Explorer 的 PARAM 標(biāo)簽或 Netscape 的 EMBED 標(biāo)簽中。) 當(dāng) allowScriptAccess 設(shè)置為 "never" 時(shí),SWF 文件無(wú)法訪問(wèn) Web 頁(yè)腳本。 對(duì)于 Flash Player 7 及更高版本,當(dāng) allowScriptAccess 設(shè)置為 "always" 時(shí),SWF 文件始終可以訪問(wèn) Web 頁(yè)腳本。 當(dāng) allowScriptAccess 設(shè)置為 "sameDomain" 時(shí),只允許從與該 Web 頁(yè)位于同一域中的 SWF 文件進(jìn)行腳本訪問(wèn);對(duì)于以前版本的 Flash Player,始終允許腳本訪問(wèn)。 如果在 HTML 頁(yè)中未指定 allowScriptAccess,則默認(rèn)情況下,對(duì)于第 8 版及更高版本的 SWF 文件,該屬性設(shè)置為 "sameDomain";對(duì)于第 7 版及更低版本的 SWF 文件,設(shè)置為 "always"。
可以在包含 SWF 內(nèi)容的 HTML 頁(yè)中設(shè)置 object 和 embed 標(biāo)簽的 allowNetworking 參數(shù),防止 SWF 文件使用此方法。
fscommand() 來(lái)指示 Flash Player 進(jìn)入全屏模式并且不允許縮放。 然后使用 draw() 將一個(gè)橙色框添加到舞臺(tái)上。 在 draw() 中,指示 Flash Player 使用對(duì) fscommand(). 的另一個(gè)調(diào)用來(lái)退出,將 click 事件偵聽(tīng)器以名稱 clickHandler() 添加進(jìn)來(lái),它對(duì)應(yīng)于 click 事件。
注意:此示例應(yīng)在獨(dú)立的 Flash Player 中執(zhí)行,而不是在 Web 瀏覽器中執(zhí)行。
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播放器將以全屏方式進(jìn)行影片播放。按鍵盤上的Esc鍵可跳轉(zhuǎn)回窗口狀態(tài)。
[2]屏蔽右鍵菜單指令:
fscommand("showmenu","false");
效果:當(dāng)觀眾在flashplayer窗口中單擊鼠標(biāo)右鍵時(shí),將不會(huì)出現(xiàn)快捷菜單。
[3]禁止影片縮放:
fscommand("allowscale","false");
效果:當(dāng)影片中應(yīng)用位圖時(shí),如果被放大或拉伸顯示,將會(huì)出現(xiàn)圖象模糊或鋸齒,為了避免這些影響視覺(jué)的現(xiàn)象,使用此指令可以禁止影片尺寸被改變。
[4]使鍵盤出入無(wú)效的指令:
fscommand("trapallkeys","true");
效果:此指令用于鎖定鍵盤輸入,使所有設(shè)定的快捷鍵都失效,flashplayer播放器此時(shí)不識(shí)別任何鍵盤輸入信號(hào)。(但注意:無(wú)法禁止Ctrl+Alt+Del三鍵組合)
[5]調(diào)用可執(zhí)行文件指令:
fscommand("exec","command/程序名");
效果:直接打開一個(gè)可執(zhí)行文件,command/ 是一定要的,就是說(shuō)EXE文件要放在這個(gè)目錄下
[6]關(guān)閉播放器指令:
fscommand("quit");
效果:結(jié)束放映,播放器窗口自動(dòng)關(guān)閉,此ACTION適合添加到影片的最后一貞,當(dāng)然也可以放到一個(gè)按鈕上來(lái)實(shí)現(xiàn)“終止影片播放”功能。


