ShockwaveFlash控件詳解
本文由應有盡有-應有盡有網為您整理提供
、屬性方面
AlignMode (讀寫)
語法:AlignMode As Long
說明:對齊方式,與 SAlign 屬性聯動。當控件的 長寬比例與影片不一致且 WMode 不為 ExactFit 時,影片 (沒有被放大的)在控件中顯示的位置可用該屬性調整。 該屬性值由標志位組成。如圖,將該屬性值(二進制)中相 應的位標記為 1 就
設置了相應的對齊方向。 屬性值與相應的對齊方式。后面括號里是二進制數。
1:左對齊(0001)
2:右對齊(0010)
4:頂對齊(0100)
8:底對齊(1000)
也可以組合各種對齊方式,同時將兩個或以上的位標記為 1,也就是將這四個基本值組合相加。比如同時左對齊 和頂對齊,屬性值則設為 5(0101)。
例子 : 設置影片為右對齊:
movie.AlignMode = 2
--------------------------------------------------------
SAlign (讀寫)
語法:SAlign As String
說明:對齊模式(與 AlignMode 聯動)。當 AlignMode
代表各對齊模式的位被置“1”時,SAlign 值也相應被設為
“L”(Left)、“T”(Top)、“R”(Right)、“B”(Bottom)各
字符的組合。‘L’、‘T’、‘R’、‘B’的先后順序不變。
例子:設置影片為左對齊和頂對齊:
movie.SAlign = "LT"
======================================== 黃金分割線 0.618 ========================================BackgroundColor(讀寫)
語法:BackgroundColor As Long
說明:影片的背景色(與 BGColor 聯動)。以(紅 × 65536 +綠× 256 +藍)計算
顏色值。紅綠藍顏色取 值范圍(0-255)。默認的影片背景色為 -1 。如果影片 設置了底色或有圖片當作背景,那么看不出來該屬性值的 改變會有什么影響。
例子:將影片背景色設為藍色 :
movie.BackgroundColor = 255
--------------------------------------------------------
BGColor (讀寫)
語法:BGColor As String
說明:影片的背景色(與 BackgroundColor 聯動)。與 BackgroundColor 不同的是,BGColor 是一個六位的十六進制數,每兩位分別代表紅綠藍顏色值。如:FFEEAA 表示 紅色值為 FF、綠色值為 EE 、藍色值為 AA 。
例子:將影片背景色設為紅色:
movie.BGColor = "FF0000"
======================================== 黃金分割線 0.618 ========================================Base (讀寫)
語法:Base As String
說明:指定用于
解決影片中所有相對
路徑的聲明的基
地址。當影片與其需要的其他
文件不在同一目錄中的時候該 屬性特別有用。如不特別指定,Base 的值默認為 ".",也就 是當前影片所在的路徑。
例子 :
movie.Base = "Http://www.domain.com/pathname1/pathname2"
======================================== 黃金分割線 0.618 ========================================Movie (讀寫)
語法:Movie As String
說明:要播放的影片路徑(URL)。設置該屬性為 一個 SWF 文件的 URL 將載入文件并播放它。若影片是在本地硬盤上,要寫成從盤符開始的絕對路徑;若影片是在某網站上,也要寫全 URL 地址。
例子 :
movie.Movie = "http://www.domain.com/path1/path2/filename.swf"
或
movie.Movie = "c:\temp\test.swf"
======================================== 黃金分割線 0.618 ========================================DeviceFont (讀寫)
語法:DeviceFont As Boolean
說明 : 決定是否使用影片內嵌的字體, 默認值為 False。將該屬性值設為 True 則強制播放器不使用影片中的內嵌的字體而使用本地
系統字體。
例子:
movie.DeviceFont = True
======================================== 黃金分割線 0.618 ========================================EmbedMovie (讀寫)
語法:EmbedMovie As Boolean
說明:影片是否被存貯到控件所在的容器中。當你已載入一個影片后將該屬性設為 True,播放影片時就不必再去讀 SWF 文件了。這使得在 PowerPoint 簡報或 VB
程序 里使用 Flash 影片更容易。但將該屬性設為 True 后,控件的 Movie 屬性就不再接受新的值了。要想播放另一個影片(給 Movie 屬性賦新值),必須先將 EmbedMovie 屬 性設為 False 。
例子 :
movie.EmbedMovie = True
======================================== 黃金分割線 0.618 ========================================FrameNum (讀寫)
語法:FrameNum As Long
說明:影片當前幀的編號 (從 0 開始計數)。設置 該屬性值將使影片停在由 FrameNum 指定的幀處。
例子 : 顯示當前幀數:
MsgBox " 當前顯示的是第 " & movie.FrameNum & " 幀。"
使影片顯示第 10 幀:
Bomovie.FrameNum = 9
======================================== 黃金分割線 0.618 ========================================TotalFrames(只讀)
語法:TotalFrames As Long
說明:返回影片中總幀數。該參數要到影片載入完成才有效(ReadyState=4)。
例子 :
If movie.ReadyState = 4 Then MsgBox " 本影片共有 " & movie.TotalFrames & " 幀。"
======================================== 黃金分割線 0.618 ========================================Loop (讀寫)
語法:Loop As Boolean
說明:是否循環播放。設為 True 是循環播放,設為 False 則只播放一次。
例子 :
movie.Loop = True
======================================== 黃金分割線 0.618 ========================================Menu (讀寫)
語法:Menu As Boolean
說明:是否顯示
菜單。設為 True 顯示所有菜單,設為 False 菜單被屏蔽,但仍有一項“About Macromedia Flash Player...”。如果你實在不喜歡這個菜單,應該在程序中通過攔截
鼠標消息的方法來達到目的。與在獨立的 Flash 播放器中不同的是,在控件的右鍵菜單里點??
“About...”的話,就會打開瀏覽器到 Macromedia 的網站上去 看 About 。

例子 :
movie.Menu = False
======================================== 黃金分割線 0.618 ========================================Playing (只讀)
語法:Playing As Boolean
說明:當前播放狀態。如果影片正在播放,該屬性 值為 True ,否則為 False 。
例子 :
If movie.Playing = False Then MsgBox " 影片已停止播放!"
======================================== 黃金分割線 0.618 ========================================Quality (讀寫)
語法:Quality As Long
說明:畫面質量(與 Quality2 聯動)。Quality 可以取:
0 ——相當于 Quality2 取 "Low"
1 ——相當于 Quality2 取 "High"
2 ——相當于 Quality2 取 "AutoLow"
3 ——相當于 Quality2 取 "AutoHigh"
例子 :
movie.Quality = 1
--------------------------------------------------------
Quality2(讀寫)
語法:Quality As String
說明:畫面質量(與 Quality 聯動)。Quality2 可以取:
Low:偏重于播放速度而不管顯示
效果,而且不啟用
消鋸齒
功能 。
High:偏重于畫面而不管播放速度,并且總是啟用 消鋸齒功能。如果影片中不包含動畫就平滑處理位圖;如 果有動畫,那么位圖就不被平滑處理。(這里的動畫應該 是把一張圖片做平移或旋轉)
AutoLow:先著重于播放速度,但只要有可能就改 善顯示效果。一開始播放時先禁用消鋸齒功能。如果播放 器檢測到處理器能承受得了 ,就啟用消鋸齒功能 。
AutoHigh:一開始是播放速度和顯示效果并重,但 如有必要就犧牲畫質確保速度。開始播放時就啟用消鋸齒 功能。但如果實際的幀速率比設計時指定的速率慢了,就 禁用消鋸齒功能來提高播放速度。
例子 :
movie.Quality2 = "High"
======================================== 黃金分割線 0.618 ========================================ReadyState(只讀)
語法:ReadyState As Long
說明:影片的當前狀態。ReadyState 可以取:
0 ——正在載入
1 ——未初始化
2 ——已載入
3 ——正在交互
4 ——完成 例子 :
If movie.ReadyState = 4 Then MsgBox " 影片載入完成!"
======================================== 黃金分割線 0.618 ========================================Scale (讀寫)
語法:scale As String
說明:縮放模式(與 ScaleMode 聯動)。Scale 可以 取:
ShowAll ——在控件內顯示全部影片區域,保持影片 長寬比例不變,影片的大小決定于控件長或寬中較小的一 邊 。
NoBorder ——在控件內顯示部分影片區域,保持影片 長寬比例不變,影片的大小決定于控件長或寬中較大的一 邊 。
ExactFit ——在控件內顯示全部影片區域,將影片的長 寬比例強制等于控件的長寬比例。
例子 :
MsgBox " 當前的縮放模式是:" & movie.Scale
--------------------------------------------------------
17.ScaleMode(讀寫)
語法:ScaleMode As Long
說明:縮放模式(與 Scale 聯動)。ScaleMode 可以取:
0 ——相當于 Scale 取 "ShowAll"
1 ——相當于 Scale 取 "NoBorder"
2 ——相當于 Scale 取 "ExactFit"
例子:使影片的縮放模式改成“ExactFit ”:
movie.ScaleMode = 2
======================================== 黃金分割線 0.618 ========================================Stacking (讀寫)
語法:Stacking As String
說明:用于 HTML,將 Flash Player 當成 HTML 中 的一種“行為”使用時,該屬性決定 Flash 影片相對于與其 參照的 HTML 內容如何顯示。(有關“行為”請參閱樣式表 的資料)。Stacking 可以取:
none ——“行為”不顯示。
replaceall ——“行為”的顯示取代全部其他元素的內容,包括背景 。
content ——“行為”的顯示只取代其他元素的內 容。
background ——“行為”的顯示只取代其他元素的背景 。
below ——“行為”在所有其他元素內容的下面顯示。
belowflow ——“行為”以反向 Z 順序顯示在其他元素 的子
對象之上,但在該元素主要內容之上。
aboveflow ——“行為”以正向 Z 順序顯示在其他元素 的子對象之下,但在該元素主要內容之上。
above ——“行為”顯示在所有其他元素的內容之上。
top ——“行為”的顯示置于整個頁面內容之上。
例子 :
movie.Stacking = "below"
======================================== 黃金分割線 0.618 ========================================20.WMode (讀寫)
語法:WMode As String
說明:控件的
窗口模式。WMode 可以取: Window —— WMode 屬性的默認值,按 Flash 播放器
典型的方式工作,即在控件的矩形窗口中播放影片,這樣一 般都能提供最快的動畫效果。
Opaque ——使影片不透明。 Transparent ——創建一個透明的影片。如果影片中有
透明的片段,放到這里時,就可以看到控件下面的背景。但 使用此屬性值,動畫的播放速度可能會慢一些。
例子 :
movie.WMode = "Transparent"
寫到這里 累殘我了======
======================================== 白金分割線 0.618 ========================================二、控件方法下面中的方法不返回值:
Back
語法:Back()??
說明 : 影片后退一幀 , 并且停止播放 。 例子 :
movie.Back
======================================== 黃金分割線 0.618 ========================================Forward
語法:Forward()
說明 : 影片前進一幀, 并且停止播放。
例子 :
movie.Forward
======================================== 黃金分割線 0.618 ========================================GotoFrame
語法:GotoFrame(FrameNum As Long)
說明:將影片跳轉到由 FrameNum 指定的幀,并且停止播放。如果所指定的幀還未載入,播放器前進到最后的可用幀并停下,在調用過程中會產生無法預料的后果。最好使用 PercentLoaded 方法來確定是否已載入足夠的影片來執行本方法。參數 FrameNum 是從 0 開始的,這和 Flash 中的 Goto 動作不一樣,它是從 1 開始的。
例子:跳轉到影片的第 20 幀:
movie.GotoFrame 20
======================================== 黃金分割線 0.618 ========================================LoadMovie
語法:LoadMovie(layer As Long, url As String)
說明:將由 url 指定的影片載入到由 layer 指定的層上。
例子:將 movie.swf 載入至 0 層:
movie.LoadMovie 0, "movie.swf"
======================================== 黃金分割線 0.618 ========================================Pan
語法:Pan(x As Long, y As Long, mode As Long)
說明:將一個放大過的影片平移由 x 和 y 指定的距離。 x 和 y 均為相對值。即控件相對于影片來說平移的距離(你 可以想象控件是一個窗戶,影片是我們從窗戶里看到的放 在外面的布景, 我們看到窗戶相對于布景平移了一些距離, 那是外面的布景在動,而窗戶是不動的)。用 mode 參數 來指定 x 和 y 的值是像素還是窗口的百分比,當 mode=0 時 坐標系以像素為單位;mode=1 時坐標系就以窗口的百分 比來計算。 平移并不能超出影片的邊框,也就是說,往 一個方向平移最多到達影片的邊緣與控件對齊的程度。
例子:控件相對于影片向左向上各平移 5 個像素(當 然控件不會動 ,是影片向右向下平移了 ):
movie.Pan 5,5,0
======================================== 黃金分割線 0.618 ========================================Play
語法:Play()
說明:開始播放影片。
例子:
movie.Play
======================================== 黃金分割線 0.618 ========================================Rewind
語法:Rewind()
說明:倒帶。返回到影片的第一幀。
例子:
movie.Rewind
======================================== 黃金分割線 0.618 ========================================SetVariable
語法:SetVariable(name As String, value As String)
說明:將由 name 指定的 Flash
變量值設為 value。
例子:
movie.SetVariable "/Form:UserName", "John Smith"
======================================== 白金分割線 0.618 ========================================三、事件方面FSCommand
語法:ShockwaveFlash1_FSCommand(ByVal command As String, ByVal args As String)
說明:在flash中調用fscommand()觸發的事件
參數:
command :代表
命令標識
args :代表參數
例子:
Select Case command '這里可以用 if
?? ?? ?? ?? ?? ?? ?? ??? '但command多了之后就不好 if 用了
?? ?? ?? ?? ?? ?? ?? ??? '我是做個示范
?? ??? Case "command1"
?? ?? ??
?? ?? ?? If args = "123" Then
?? ?? ?? ??
?? ?? ?? ?? ...
?? ?? ?? ??
?? ?? ?? Else
?? ?? ?? ??
?? ?? ?? ?? ...
?? ?? ?? ??
?? ?? ?? End If
?? ?? ??
?? ??? Case ...
?? ???
End Select
======================================== 黃金分割線 0.618 ========================================FlashCall
語法:ShockwaveFlash1_FlashCall(ByVal request As String)
說明:可能很少人知道這個事件的用處,其實這個跟 FSCommand 事件是差不多的。與 FSCommand 不同的是,這個事件可以有返回值(下面會談到)
參數是一個XML
格式的字符串,格式是
"<invoke name='%s' returntype='xml'><arguments><string>%s</string></arguments></invoke>",去查查幫助就知道了。
處理request:標準VB沒有處理XML的庫,你可以自己找支持XML的插件來用。下面就是按照個人需要處理request了。
返回值:
事件處理
函數是沒有返回值的,但是flash player提供了一個方法:ShockwaveFlash1.SetReturnValue() 專門傳遞返回值,格式是<string>%s</string>(也可以是別的AS結構,具體看幫助)。
例子:我在這給出tinyxml的例子:
Private Sub ShockwaveFlash1_FlashCall(ByVal request As String)
Dim request_xml As New TiXmlDocument
Dim request_name As String
request_xml.Parse request
request_name = request_xml.RootElement().Attribute("name")
...自己去處理吧
End Sub
======================================== 黃金分割線 0.618 ========================================OnProgress
語法:ShockwaveFlash1_OnProgress(ByVal percentDone As Long)
說明:估計是flash在
加載過程中進度改變觸發的吧?
percentDone 則應該是個百分數~
反正我還沒逮住這個事件一次..= =!
======================================== 黃金分割線 0.618 ========================================OnReadyStateChange
語法:ShockwaveFlash1_OnReadyStateChange(newState As Long)
說明:顧名思義,就是 ReadyState 改變時觸發的事件,具體請看上面關于 ReadyState 屬性的說明,我在這就不廢話了....
======================================== 黃金分割線 0.618 ========================================至于其他事件,比如
GotFocus啦、LostFocus啦,我也不想廢話了...
from:http://y9j9.com/html/jisuanjiyingyong/201003/28-336.html
posted on 2010-12-24 17:27
我風 閱讀(1557)
評論(0) 編輯 收藏 引用