9.SetZoomRect
文法:SetZoomRect(left As Long,top As Long,right As Long,bottom As Long)
說明:將影片中指定的矩形地區放大到控制項的大小。
left(左)、top(頂)、right(右)、bottom(底)的座標值是相對於控制項中的影片有效位置計算的。注意喲,這個函數是從影片的有效地區的左上方開始計算,而不是控制項的左上方。
例子:放大影片中從左上方開始的200×200點的矩形地區:
pointsToTwips=20;
movie.SetZoomRect0,0,200*pointsToTwips,200*pointsToTwips
10.Stop
文法:Stop()
說明:停止播放影片。
例子:movie.Stop
11.StopPlay
文法:StopPlay()
說明:停止播放影片。
例子:movie.StopPlay
12.TCallFrame
文法:TCallFrame(target As String,FrameNum As Long)
說明:在由target指定的時間軸中,執行由FrameNum指定的幀中的動作。
例子:要運行主時間軸中第5幀的動作:
movie.TCallFrame"/",4
13.TCallLabel
文法:TCallLabel(target As String,label As String)
說明:在由target指定的時間軸中,執行由label指定的幀中的動作。
例子:要運行主時間軸中名為“HandleScriptNotify”的幀中的動作:
movie.TCallLabel"/","HandleScriptNotify"
14.TGotoFrame
文法:TGotoFrame(target As String,FrameNum As Long)
說明:對於由target指定的時間軸,轉到由FrameNum指定的幀。
例子:
movie.TGotoFrame"/MovieClip",2
15.TGotoLabel
文法:TGotoLabel(target As String,label As String)
說明:對於由target指定的時間軸,轉到由label指定的幀。
例子:movie.TGotoLabel"/MovieClip","MyLabel"
16.TPlay
文法:TPlay(target As String)
說明:播放由target指定的時間軸。
例子:movie.TPlay"/MovieClip"
17.TSetProperty
文法:TSetProperty(target As String,property As Long,value As String)
說明:對於由target指定的時間軸,把由property指定的屬性設為由value指定的值(字串)。property是一個代表相應屬性的編號(詳情請參閱附表)。
例子:
DimnameIndexAsLong
nameIndex=13
movie.TSetProperty"/MovieClip",nameIndex,"NewName"
18.TSetPropertyNum
文法:TSetPropertyNum(target As String,property As Long,value As Double)
說明:對於由target指定的時間軸,把由property指定的屬性設為由value指定的值(數字)。property是一個代表相應屬性的編號(詳情請參閱附表)。
例子:
Dim visibilityIndex As Long
visibilityIndex=7
movie.TSetProperty"/MovieClip",visibilityIndex,1
19.TStopPlay
文法:TStopPlay(target As String)
說明:停止播放由target指定的時間軸。
例子:
movie.TStopPlay"/MovieClipToStop"
20.Zoom
文法:Zoom(factor As Long)
說明:以factor指定的相對百分比來縮放視圖。factor可以理解為從控制項視窗看到的影片占實際大小的百分比。將factor設為0,則視圖還原成100%大小。當前視圖已經是100%時不能再將其縮小。
例子:將影片放大兩倍:
movie.Zoom50
下面的方法都有傳回值:
21.CurrentFrame
文法:CurrentFrame()As Long
說明:返回影片的當前幀數。影片的第一幀為0。
例子:
Dim frameNow As Integer
frameNow=movie.currentFrame
22.FlashVersion
文法:FlashVersion() As Long
說明:返回控制項版本號碼。該值共有三個位元組,依次是主要版本號、次版本號碼、修訂版本號碼。如我用的Flash播放器控制項用此方法傳回值是327722,相當於十六進位的&h05002A,相當於5.00.42。
例子:下列程式顯示你所使用的控制項版本號碼:
Dim verNum,majorNum,minorNum,revisionNum As Long
verNum=movie.FlashVersion
majorNum=verNum\65536
minorNum=(verNum-majorNum*65536)\256
revisionNum=verNum Mod 256
MsgBox"你的Flash播放器控制項的版本號碼:"&majorNum&"."&minorNum&"."&revisionNum
23.GetVariable
文法:GetVariable(name As String)As String
說明:返回name指定的Flash變數的值。如果變數不存在則返回null。
例子:
Dim firstName,radioButtonValue As String
firstName=movie.GetVariable"FirstName"
radioButtonValue=movie.GetVariable("/Form/RadioButton:Value")
24、IsPlaying
文法:IsPlaying() As Boolean
說明:如果影片現正播放則返回true。
例子:
If movie.IsPlayingThen
MsgBox"影片現正播放中!"
End If
25.PercentLoaded
文法:PercentLoaded() As Long
說明:返回目前已經載入的影片的百分比。取值範圍從0到100。
例子:
Dimloaded As Boolean
If movie.PercentLoaded=100 Then
loaded=true
End If
26.TCurrentFrame
文法:TCurrentFrame(target As String)As Long
說明:返回由target指定的時間軸中當前幀的號碼。返回的幀號碼是從0開始的,也就是說影片的第一幀為0,第二幀為1,以此類推。
例子:
Dim currentFrame As Long
currentFrame=movie.TCurrentFrame("/MovieClip")
27.TCurrentLabel
文法:TCurrentLabel(target As String)As String
說明:返回由target指定的時間軸中當前幀的標籤。如果沒有當前幀的標籤,則返回一個Null 字元串。
例子:
Dim currentLabel As String
currentLabel=movie.TCurrentLabel("/MovieClip")
28.TGetProperty
文法:TGetProperty(target As String,property As Long)As String
說明:對於由target指定的時間軸,返回由property指定的屬性值(字串)。其中,property是一個代表相應屬性的編號(詳情請參閱附表)。
例子:
Dim nameIndex As Long
Dim name As String
nameIndex=13
name=movie.TGetProperty("/",nameIndex)
29.TGetPropertyNum
文法:TGetPropertyNum(target As String,property As Long)As Double
說明:對於由target指定的時間軸,返回由property指定的屬性值(數字)。其中,property是一個代表相應屬性的編號(詳情請參閱附表)。
例子:
Dim framesLoadedIndex As Long
Dim framesLoaded As Double
framesLoadedIndex=12
framesLoaded=movie.TGetProperty("/",framesLoadedIndex)
附表:擷取及設定屬性。相應的每個屬性的編號都可用在TGetProperty、TGetPropertyAsNumber、TSetProperty或TSetPropertyNum中,以指出將要訪問的屬性。
講到這兒也就差不多了,我們已經可以對Flash影片進行絕大部分的操作了。我想,追求完美的你一定還覺得有些不滿足,不肯善罷甘休,非得要十全十美不可。那我們就來看看還有些什麼要做的。
三、事件篇
想想看,有些Flash影片一開啟就會自動切換到全螢幕模式播放;有些影片開啟後,你改變播放器大小,影片的畫面居然不會隨之改變;還有些影片播放時,Flash播放器的菜單會隱藏起來。在Flash內建的播放器裡可沒有“隱藏菜單”的功能吧,這是怎麼回事?那就隨我來,往下看,讓我們聽聽來自Flash影片的“聲音”。
1.FSCommand
文法:FSCommand(command As String,args As String)
說明:在Flash中為影片添加的FSCommand動作可以從影片中傳遞資訊給Flash播放器,Flash播放器或包含播放器控制項的網頁或程式播放這個影片時就根據得到的這些資訊執行相應的動作,從而實現影片內部與外部應用的互動操作。如在Flash中給一個按鈕圖片添加如下的Action:
on(release){
fscommand("fullscreen","true");
}
當Flash播放器播放這個檔案時點擊按鈕,播放器就會切換到全螢幕模式。下面是Flash內建的播放器能識別的命令和它們的參數:
命令:quit
參數:無參數
作用:關閉播放器
命令:fullscreen
參數:true或false
作用:設定為true使播放器以全螢幕模式播放;設定為false使播放器回到一般視窗模式播放。
命令:allowscale
參數:true或false
作用:設為false將使影片不隨播放器大小改變而改變,始終保持原始大小,相當於播放器菜單中的100%;設為true則恢複影片隨播放器大小而改變的尺寸,相當於播放器菜單中的ShowAll。
命令:showmenu
參數:true或false
作用:設為true顯示全部菜單,包括功能表列和播放區的右鍵菜單;設為false功能表列不顯示,播放區的右鍵菜單中只有一項“AboutMacromediaFlashPlayer...”。
命令:exec
參數:應用程式的路徑及名稱
作用:執行一個指定的應用程式。如在Flash影片中添加動作為:
fscommand("exec","regedit");
則播放器播放影片時執行此動作會開啟“登錄編輯程式”程式。注意喲,Flash內建的播放器接收到這些命令後會執行相應的動作,但在控制項中不會有任何反應,只能由程式在FSCommand事件中分析接收到的command和args並編程做出相應處理。
2.OnProgress
文法:Event OnProgress(percentDone As Long)
說明:發生在Flash影片下載時。percentDone是影片已下載的百分比,取值從0到100。
例子:在表單標題列中顯示下載進度:
Private Sub movie_OnProgress(ByVal percentDone As Long)
form1.Caption="影片已下載:"&percentDone&"%"
End Sub
3.OnReadyStateChange
文法:Event OnReadyStateChange(newState As Long)
說明:發生在控制項的準備狀態改變時。下面列出了newState可能的值:
0——正在載入
1——未初始化
2——已載入
3——正在互動
4——完成
例子:影片載入完成後出現提示資訊,然後開始播放影片:
Private Sub movie_OnReadyStateChange(newState As Long)
If newState=4 Then
MsgBox"影片載入完成!"&vbCrLf&"影片總幀
數:"&movie.TotalFrames
movie.Play
End If
End Sub