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