FSCommand 用法詳解

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動畫時如虎添翼!

發佈了1 篇原創文章 · 獲贊 0 · 訪問量 2378
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章