載入flash必備的ShockwaveFlash控制元件屬性

mrhaozi發表於2010-04-30
載入flash必備的ShockwaveFlash控制元件屬性 屬性: 1.AlignMode (讀寫) 語法:AlignMode As Long 說明:對齊方式,與 SAlign 屬性聯動。當控制元件的 長寬比例與影片不一致且 WMode 不為 ExactFit 時,影片(沒有被放大的)在控制元件中顯示的位置可用該屬性調整。 該屬性值由標誌位組成。如圖,將該屬性值(二進位制)中相 應的位標記為 1 就設定了相應的對齊方向。屬性值與相應的對齊方式。後面括號裡是二進位制數。 1:左對齊(0001) 2:右對齊(0010) 4:頂對齊(0100) 8:底對齊(1000) 也可以組合各種對齊方式,同時將兩個或以上的位標記為 1,也就是將這四個基本值組合相加。比如同時左對齊 和頂對齊,屬性值則設為 5(0101)。 例子 : 設定影片為右對齊: movie.AlignMode = 2 2.SAlign (讀寫) 語法:SAlign As String 說明:對齊模式(與 AlignMode 聯動)。當 AlignMode 代表各對齊模式的位被置“1”時,SAlign 值也相應被設為 “L”(Left)、“T”(Top)、“R”(Right)、“B”(Bottom)各 字元的組合。‘L’、‘T’、‘R’、‘B’的先後順序不變。 例子:設定影片為左對齊和頂對齊: movie.SAlign = "LT" 3.BackgroundColor(讀寫) 語法:BackgroundColor As Long 說明:影片的背景色(與 BGColor 聯動)。以(紅 × 65536 +綠× 256 +藍)計算顏色值。紅綠藍顏色取值範圍(0-255)。預設的影片背景色為 -1 。如果影片 設定了底色或有圖片當作背景,那麼看不出來該屬性值的改變會有什麼影響。 例子:將影片背景色設為藍色 : movie.BackgroundColor = 255 4.BGColor (讀寫) 語法:BGColor As String 說明:影片的背景色(與 BackgroundColor 聯動)。與 BackgroundColor 不同的是,BGColor 是一個六位的十六進位制數,每兩位分別代表紅綠藍顏色值。如:FFEEAA 表示 紅色值為 FF、綠色值為 EE 、藍色值為 AA 。 例子:將影片背景色設為紅色: movie.BGColor = "FF0000" 5.Base (讀寫) 語法:Base As String 說明:指定用於解決影片中所有相對路徑的宣告的基地址。當影片與其需要的其他檔案不在同一目錄中的時候該屬性特別有用。如不特別指定,Base 的值預設為 ".",也就 是當前影片所在的路徑。 例子 : movie.Base = "" 6.Movie (讀寫) 語法:Movie As String 說明:要播放的影片路徑(URL)。設定該屬性為 一個 SWF 檔案的 URL 將載入檔案並播放它。若影片是在本地硬碟上,要寫成從磁碟機代號開始的絕對路徑;若影片是在某網站上,也要寫全 URL 地址。 例子 : movie.Movie = "" 或 movie.Movie = "c:temptest.swf" 7.DeviceFont (讀寫) 語法:DeviceFont As Boolean 說明 : 決定是否使用影片內嵌的字型, 預設值為 False。將該屬性值設為 True 則強制播放器不使用影片中的內嵌的字型而使用本地系統字型。 例子: movie.DeviceFont = True 8.EmbedMovie (讀寫) 語法:EmbedMovie As Boolean 說明:影片是否被存貯到控制元件所在的容器中。當你已載入一個影片後將該屬性設為 True,播放影片時就不必再去讀 SWF 檔案了。這使得在 PowerPoint 簡報或 VB 程式 裡使用 Flash 影片更容易。但將該屬性設為 True 後,控制元件的 Movie 屬性就不再接受新的值了。要想播放另一個影片(給 Movie 屬性賦新值),必須先將 EmbedMovie 屬性設為 False 。 例子 : movie.EmbedMovie = True 9.FrameNum (讀寫) 語法:FrameNum As Long 說明:影片當前幀的編號 (從 0 開始計數)。設定 該屬性值將使影片停在由 FrameNum 指定的幀處。 例子 : 顯示當前幀數: MsgBox " 當前顯示的是第 " & movie.FrameNum & " 幀。" 使影片顯示第 10 幀: Bomovie.FrameNum = 9 10.TotalFrames(只讀) 語法:TotalFrames As Long 說明:返回影片中總幀數。該引數要到影片載入完成才有效(ReadyState=4)。 例子 : If movie.ReadyState = 4 Then MsgBox " 本影片共有 " & movie.TotalFrames & " 幀。" 11.Loop (讀寫) 語法:Loop As Boolean 說明:是否迴圈播放。設為 True 是迴圈播放,設為 False 則只播放一次。 例子 : movie.Loop = True 12.Menu (讀寫) 語法:Menu As Boolean 說明:是否顯示選單。設為 True 顯示所有選單,設為 False 選單被遮蔽,但仍有一項“About Macromedia Flash Player...”。如果你實在不喜歡這個選單,應該在程式中透過攔截滑鼠訊息的方法來達到目的。與在獨立的 Flash 播放器中不同的是,在控制元件的右鍵選單裡點 “About...”的話,就會開啟瀏覽器到 Macromedia 的網站上去 看 About 。 例子 : movie.Menu = False 13.Playing (只讀) 語法:Playing As Boolean 說明:當前播放狀態。如果影片正在播放,該屬性 值為 True ,否則為 False 。 例子 : If movie.Playing = False Then MsgBox " 影片已停止播放!" 14.Quality (讀寫) 語法:Quality As Long 說明:畫面質量(與 Quality2 聯動)。Quality 可以取: 0 ——相當於 Quality2 取 "Low" 1 ——相當於 Quality2 取 "High" 2 ——相當於 Quality2 取 "AutoLow" 3 ——相當於 Quality2 取 "AutoHigh" 例子 : movie.Quality = 1 15.Quality2(讀寫) 語法:Quality As String 說明:畫面質量(與 Quality 聯動)。Quality2 可以取: Low:偏重於播放速度而不管顯示效果,而且不啟用 消鋸齒功能 。 High:偏重於畫面而不管播放速度,並且總是啟用消鋸齒功能。如果影片中不包含動畫就平滑處理點陣圖;如果有動畫,那麼點陣圖就不被平滑處理。(這裡的動畫應該是把一張圖片做平移或旋轉) AutoLow:先著重於播放速度,但只要有可能就改善顯示效果。一開始播放時先禁用消鋸齒功能。如果播放器檢測到處理器能承受得了,就啟用消鋸齒功能 。 AutoHigh:一開始是播放速度和顯示效果並重,但如有必要就犧牲畫質確保速度。開始播放時就啟用消鋸齒功能。但如果實際的幀速率比設計時指定的速率慢了,就禁用消鋸齒功能來提高播放速度。 例子 : movie.Quality2 = "High" 16.ReadyState(只讀) 語法:ReadyState As Long 說明:影片的當前狀態。ReadyState 可以取: 0 ——正在載入 1 ——未初始化 2 ——已載入 3 ——正在互動 4 ——完成 例子 : If movie.ReadyState = 4 Then MsgBox " 影片載入完成!" 17.Scale (讀寫) 語法:scale As String 說明:縮放模式(與 ScaleMode 聯動)。Scale 可以 取: ShowAll ——在控制元件內顯示全部影片區域,保持影片 長寬比例不變,影片的大小決定於控制元件長或寬中較小的一 邊 。 NoBorder ——在控制元件內顯示部分影片區域,保持影片 長寬比例不變,影片的大小決定於控制元件長或寬中較大的一 邊 。 ExactFit ——在控制元件內顯示全部影片區域,將影片的長 寬比例強制等於控制元件的長寬比例。 例子 : MsgBox " 當前的縮放模式是:" & movie.Scale 18.ScaleMode(讀寫) 語法:ScaleMode As Long 說明:縮放模式(與 Scale 聯動)。ScaleMode 可以取: 0 ——相當於 Scale 取 "ShowAll" 1 ——相當於 Scale 取 "NoBorder" 2 ——相當於 Scale 取 "ExactFit" 例子:使影片的縮放模式改成“ExactFit ”: movie.ScaleMode = 2 19.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" 20.WMode (讀寫) 語法:WMode As String 說明:控制元件的視窗模式。WMode 可以取: Window —— WMode 屬性的預設值,按 Flash 播放器 典型的方式工作,即在控制元件的矩形視窗中播放影片,這樣一 般都能提供最快的動畫效果。 Opaque ——使影片不透明。 Transparent ——建立一個透明的影片。如果影片中有 透明的片段,放到這裡時,就可以看到控制元件下面的背景。但 使用此屬性值,動畫的播放速度可能會慢一些。 例子 : movie.WMode = "Transparent" ShockwaveFlash控制元件詳解(二)---方法與事件(轉) 方法: 下面中的方法不返回值: 1.Back 語法:Back() 說明 : 影片後退一幀 , 並且停止播放 。 例子 : movie.Back 2.Forward 語法:Forward() 說明 : 影片前進一幀, 並且停止播放。 例子 : movie.Forward 3.GotoFrame 語法:GotoFrame(FrameNum As Long) 說明:將影片跳轉到由 FrameNum 指定的幀,並且停止播放。如果所指定的幀還未載入,播放器前進到最後的可用幀並停下,在呼叫過程中會產生無法預料的後果。最好使用 PercentLoaded 方法來確定是否已載入足夠的影片來執行本方法。引數 FrameNum 是從 0 開始的,這和 Flash 中的 Goto 動作不一樣,它是從 1 開始的。 例子:跳轉到影片的第 20 幀: movie.GotoFrame 20 4.LoadMovie 語法:LoadMovie(layer As Long, url As String) 說明:將由 url 指定的影片載入到由 layer 指定的層上。 例子:將 movie.swf 載入至 0 層: movie.LoadMovie 0, "movie.swf" 5.Pan 語法:Pan(x As Long, y As Long, mode As Long) 說明:將一個放大過的影片平移由 x 和 y 指定的距離。 x 和 y 均為相對值。即控制元件相對於影片來說平移的距離(你可以想象控制元件是一個窗戶,影片是我們從窗戶裡看到的放 在外面的佈景, 我們看到窗戶相對於佈景平移了一些距離,那是外面的佈景在動,而窗戶是不動的)。用 mode 引數 來指定 x 和 y 的值是畫素還是視窗的百分比,當 mode=0 時座標系以畫素為單位;mode=1 時座標系就以視窗的百分 比來計算。平移並不能超出影片的邊框,也就是說,往一個方向平移最多到達影片的邊緣與控制元件對齊的程度。 例子:控制元件相對於影片向左向上各平移 5 個畫素(當 然控制元件不會動 ,是影片向右向下平移了 ): 6.Play 語法:Play() 說明:開始播放影片。 例子: movie.Play 7.Rewind 語法:Rewind() 說明:倒帶。返回到影片的第一幀。 例子: movie.Rewind 8.SetVariable 語法:SetVariable(name As String, value As String) 說明:將由 name 指定的 Flash 變數值設為 value。 例子: movie.SetVariable "/Form:UserName", "John Smith" --------------------------------------------------------------------------- 事件: 1.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 2.FlashCall 語法:ShockwaveFlash1_FlashCall(ByVal request As String) 說明:可能很少人知道這個事件的用處,其實這個跟 FSCommand 事件是差不多的。與 FSCommand 不同的是,這個事件可以有返回值(下面會談到) 引數是一個XML格式的字串,格式是 "%s",去查查幫助就知道了。 處理request:標準VB沒有處理XML的庫,你可以自己找支援XML的外掛來用。下面就是按照個人需要處理request了。 返回值: 事件處理函式是沒有返回值的,但是flash player提供了一個方法:ShockwaveFlash1.SetReturnValue() 專門傳遞返回值,格式是%s(也可以是別的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 3.OnProgress 語法:ShockwaveFlash1_OnProgress(ByVal percentDone As Long) 說明:估計是flash在載入過程中進度改變觸發的吧? percentDone 則應該是個百分數~ 反正我還沒逮住這個事件一次..= =![@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16396910/viewspace-1033316/,如需轉載,請註明出處,否則將追究法律責任。

相關文章