FSCommand 用法詳解

來源:互聯網
上載者:User
command|詳解

  1、FS Command介紹

  FS Command命令是Flash系統用來支援其他應用程式互相傳達命令的工具,有在Flash播放器和網頁兩方面用途。先看看它的基本用法:

  FS Command函數設定有''Command''和''Arguments''兩項,在Standalone player播放時適用於以下語句:

  Command Arguments FS Command
Fullscreen true or false 控制是否全屏
Allowscale true or false 右鍵顯示菜單
Exec 應用程式路徑 開啟應用程式
Quit 不填 關閉動畫

  注意:與在網頁中,全屏播放的方法是不同的!

  2、FS Command頁面初級用法

  在網頁應用上,FS Command有兩大功能
  (1)能使Flash向指令碼語言發送命令。可以是呼叫指令碼語言中的一段函數或傳遞變數給指令碼語言等。
  (2)能使指令碼語言(js,vbs)向Flash發送命令。可以是給Flash中定義變數或是直接控制Flash動畫的時間軸上的跳轉或給Flash中定義實體的屬性等。
  為了使大家有一個感性的認識,先來看這個程式:

  看到了嗎?它是這樣實現的:

  (1)用Flash作一個簡單的按鈕,將按鈕的Action設為:

On(Release)
FSCommand("alert","Hello,This is FS Command speaking")
End On


  (2)將按鈕輸出為swf,用Dreamweaver插入網頁,並起ID名為"button"

  (3)在網頁<head>與</head>之間加入:

<script language=javascript>
function button_DoFSCommand(command,args)
{if(command == "alert"){
alert("Now look at this:"+args);}
}
</script>
<SCRIPT LANGUAGE=VBScript>
Sub button_FSCommand(ByVal command, ByVal args)
call button_DoFSCommand(command, args)
end sub
</SCRIPT>

   下面對(3)點的文法做一些解釋:"function ID_DoFSCommand(command,args)"是引用FS Command的一個固定格式,ID就是swf插入網頁後起的ID名字。"if(command="")句的後面要填的就是FlashAction中command欄裡填寫的內容,"args"是個變數,上例中args代表的就是Argument裡的內容。"alert"是"JS"函數,作用是輸出資訊。看到JS語句後面的一段VBS代碼了嗎?這段代碼可是非常重要噢,如果你的瀏覽器是IE的話,這段代碼是必不可少的。



  3、FS Command之Flash Methods

  Flash Methods指能運行在指令碼中並能於Flash溝通的一組特定函數。

  在IE中Flash Methods的格式為:ID.FlashMethods

  我們還是用學習例子的方法來瞭解Flash Methods的功能和用法吧:

  請點擊按鈕!看到效果了麼?它是這樣實現的:

  (1)在Flash中畫一個文字框,定義其實體名為get,並設定文本的屬性為Multiline(允許換行),Word wrap(邊界換行)。

  (2)製作按鈕“提交”和“清除”,分別設定action為:

On(Release)
FSCommand("post","")
End On
On(Release)
FSCommand("clear","")
End On


  (3)用Dreamweaver將匯出的swf插入網頁,起ID名為buttonn。

  (4)網頁代碼中加入:

<script language=javascript>
function buttonn_DoFSCommand(command,args)
{if(command == "post")
buttonn.SetVariable("_root.get","哈哈!神奇吧?這是JavaScript說的話!~0~")
else if(command == "clear")
buttonn.SetVariable("_root.get","")
}
</script>
<SCRIPT LANGUAGE=VBScript>
Sub buttonn_FSCommand(ByVal command, ByVal args)
call buttonn_DoFSCommand(command, args)
end sub
</SCRIPT>

  4、Flash Methods函數集

   看了上面的例子,你一定對Flash Methods有所瞭解了吧!下面我來介紹一下Flash Methods的全部函數:

Flash Method函數 函數解釋
Play() 播放動畫
StopPlay() 停止動畫
IsPlaying() 動畫是否現正播放(true,false)
GotoFrame(frame_number) 跳轉到某幀(frame_number+1)
TotalFrames() 擷取動畫總幀數
CurrentFrame() 回傳當前動畫所在幀數-1
Rewind() 使動畫返回第一幀
SetZoomRect(left,top,right,buttom) 放大指定地區
Zoom(percent) 改變動畫大小
Pan(x_position,y_position,unit) 使動畫在x,y方向上平移
PercentLoaded() 返回動畫被載入的百分比(0-100)
LoadMovie(level_number,path) 載入動畫
TGotoFrame(movie_clip,frame_number) movie_clip跳轉到指定幀數
TGotoLabel(muvie_clip,label_name) movie_clip跳轉到指定標籤
TCurrentFrame(movie_clip) 回傳movie_clip當前幀-1
TCurrentLabel(movie_clip) 回傳movie_clip當前標籤
TPlay(movie_clip) 播放movie_clip
TStopPlay(movie_clip) 停止movie_clip的播放
GetVariable(variable_name) 擷取變數
SetVariable(variable_name,value) 變數賦值
TCallFrame(movie_clip,frame_number) call指定幀上的action
TCallLabel(movie_clip,label) call指定標籤上的action
TGetProperty(movie_clip,property) 擷取movie_clip的指定屬性
TSetProperty(movie_clip,property,number) 設定movie_clip的指定屬性

  需要說明的是:最後兩個函數在擷取movie_clip的屬性時,是以0到18的數字來表示的。下面列出它們分別代表的意思:

  屬性 作用 數字 使用方式
X Position X座標 0 Get,Set
Y Position Y座標 1 Get,Set
X Scale X方向縮放比率 2 Get,Set
Y Scale Y方向縮放比率 3 Get,Set
CurrentFrame movie_clip當前所在幀數 4 Get
TotalFrames movie_clip總幀數 5 Get
Alpha movie_clip的透明度 6 Get,Set
Visibility movie_clip是否可見 7 Get,Set
Width movie_clip的寬度 8 Get
Height movie_clip的高度 9 Get
Rotation movie_clip的旋轉度 10 Get,Set
Target movie_clip的路徑 11 Get
Framesloaded movie_clip已載入的幀數 12 Get
Name movie_clip的實體名字 13 Get,Set
DropTarget movie_clip的拖拽 14 Get
Url 包含movie_clip的動畫的url 15 Get
HighQuality 設定畫面品質為高品質 16 Get,Set
FocusRect 顯示按鈕邊框 17 Get,Set
SoundBufTime 預設聲音緩衝時間 18 Get,Set   
   
  到此為止,FS Command的全部用法就介紹完了。我們可以看到,FS Command為Flash開啟了一個使用指令碼語言的介面,這可以彌補Flash在函數上的不足。 所以,利用好這個方法,將使我們在製作Flash動畫時如虎添翼!



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。