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/程序名");
效果:直接打開(kāi)一個(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)“終止影片播放”功能。