PowerBuilder 9實現FLASH動畫播放(轉)

heying1229發表於2007-07-17

PowerBuilder資料庫程式設計中利用Flash控制元件進行動畫播放和控制播放的方法。
關鍵詞 OLE控制元件 動畫 Flash PB
1. 前言
PowerBuilder(以下簡稱PB)是一種物件導向、快速開發資料庫的開發平臺,常用於資料庫的開發,FLASH動畫不僅包含動畫,還可有聲音等形成非常形象的動感畫面,在PB開發的程式中加入FLASH動畫,使得程式更具活力,為使用者創造一個更加友好的互動式介面。下面介紹在PB8.0資料庫程式設計中用Flash 5提供的OLE控制元件“SwFLASH.ocx”實現動畫播放的一種方法。
2. PB中OLE控制元件的使用
在PB8.0環境下使用“SwFLASH.ocx”控制元件,首先建立一個視窗,然後在窗體上新增一個OLE控制元件,用OLE連線 FLASH 5的控制元件“SwFLASH.ocx”其具體作法如下:
(1)選選單"Cotrols | OLE",顯示視窗"Insert object",選"Insert Control",在Control Tyle欄裡找出"Shockware FLASH Object"(若該控制元件尚未註冊,可先選"Register Now"對該控制元件進行註冊);回到PB視窗,用滑鼠點選安放此控制元件在視窗上並調整大小。
(2)在程式設計中使用FLASH5.0的控制元件“SwFLASH.ocx”提供的主要屬性:
Movie屬性:存放FLASH動畫檔案的URL's:在本機磁碟時寫全目錄名,或Internet上按瀏覽網頁的地址,例如:f: ouchstart.swf。
Quality(解析度)屬性:播放的解析度,有0(low),1(AutoLow),2(Hight),
3(AutoHight),4(Best)五個值 。
Scale屬性:播放的螢幕,有0(ShowAll), 1(NoBorder), 2(ExactFit)三個值 。
Loop(迴圈播放)屬性:true, false 。
menu(選單)屬性:true, false 。
(3)根據應用的需要進行程式設計,如在視窗的“open”事件中,設定“SwFLASH.ocx”控制元件的屬性值,錄入下述程式碼即可(或者在屬性頁填寫):
ole_1.Object.movie=“f: ouchstart.swf”
ole_1.Object.loop=true
ole_1.Object.Quality=4
ole_1.Object.Scale=2
ole_1.Object.menu=true
3. PB控制動畫播放
以上設定了控制元件的屬性,在程式中只能單一播放已生成的動畫檔案(“*.swf”),PB不能對動畫進行控制,若要PB控制FLASH動畫播放,就需要使用“SwFLASH.ocx”控制元件的方法和事件。
(1)利用控制元件的“Setvariable”方法可實現動態文字的顯示,(例如在動畫中播放一段文字“我愛FLASH”,更改為“我愛“PB”)。其作法如下:
a) 在FLASH動畫中設定文字欄位變數。
在FLASH中選擇動態顯示的文字物件,在TextOptions皮膚中選擇動態文字(Dynamic Text ),設定成文字欄位型別。然後在Variable輸入欄位變數名稱為:“DispText”。在文字框中輸入“我愛FLASH””
b) 在PB中運用方法。
“Setvariable”方法的格式:setvariable(name as string ,value as string )
根據應用的需要程式設計,如窗體中放置一個按鈕,在按鈕的“Click”事件中編寫
string ls_disp
ls_disp=“我愛PB”
ole_1.Object.Setvariabel(“DispText”,ls_disp)
c) 執行程式,點選按鈕,Flash動畫中的“我愛FLASH”,就會變為“我愛“PB”。
(2)利用“fscommand”事件,實現PB與FLASH動畫的互動。(如使用者在PB程式的一個窗體”w_start”中點選FLASH動畫按鈕,開啟PB的另外一個視窗”w_Picture”),方法如下:
a) 在FLASH中設定按鈕動作
在FLASH中定義一個按鈕,開啟物件動作皮膚,點選Fscommand動作,Fscommand動作自動加入在on(release{}之中。Fscommand動作可用於傳遞資訊給PB,其引數設定為:
command(命令):picture
Arguments(引數) :可根據需要選擇,在此不設定
在編輯視窗顯示如下:
on(release){
fscomman(“picture”);
}
b) 在PB中OLE控制元件的“fscommand(string command ,string args)”事件中程式設計
if command=”picture” then
open(w_picture)
end if
c) 執行程式,點選FLASH動畫中的按鈕,顯示w_picture視窗
以上只是簡單的介紹了PB如何使用OLE控制元件"SwFLASH.ocx"控制動畫播放的方法,在實際運用中,應根據實際需要,靈活使用控制元件實現PB與Flash動畫的完美結合。

[@more@]

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

相關文章