摘 要 本文探討了在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:\touch\start.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:\ \touch\start.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動畫的完美結合。
4. 結束語 在實際中,我們已運用上述方法開發了一套咨詢台軟件,該軟件具有非常友好的界面,功能齊全,使用方便的優點,受到用戶的青睐。希望該方法對編程愛好者有所幫助。