明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

用PB完成Flash動(dòng)畫播放

[摘要]摘 要 本文探討了在PowerBuilder數(shù)據(jù)庫編程中利用Flash控件進(jìn)行動(dòng)畫播放和控制播放的方法。   關(guān)鍵詞 OLE控件 動(dòng)畫 Flash PB  1. 前言  PowerBuilder(以下簡(jiǎn)稱PB)是一種面向?qū)ο、快速開發(fā)數(shù)據(jù)庫的開發(fā)平臺(tái),常用于數(shù)據(jù)庫的開發(fā),F(xiàn)LASH動(dòng)畫不僅包含動(dòng)畫...

  摘 要 本文探討了在PowerBuilder數(shù)據(jù)庫編程中利用Flash控件進(jìn)行動(dòng)畫播放和控制播放的方法。

  關(guān)鍵詞 OLE控件 動(dòng)畫 Flash PB

  1. 前言

  PowerBuilder(以下簡(jiǎn)稱PB)是一種面向?qū)ο蟆⒖焖匍_發(fā)數(shù)據(jù)庫的開發(fā)平臺(tái),常用于數(shù)據(jù)庫的開發(fā),F(xiàn)LASH動(dòng)畫不僅包含動(dòng)畫,還可有聲音等形成非常形象的動(dòng)感畫面,在PB開發(fā)的程序中加入FLASH動(dòng)畫,使得程序更具活力,為用戶創(chuàng)造一個(gè)更加友好的交互式界面。下面介紹在PB8.0數(shù)據(jù)庫編程中用Flash 5提供的OLE控件“SwFLASH.ocx”實(shí)現(xiàn)動(dòng)畫播放的一種方法。

  2. PB中OLE控件的使用

  在PB8.0環(huán)境下使用“SwFLASH.ocx”控件,首先創(chuàng)建一個(gè)窗口,然后在窗體上添加一個(gè)OLE控件,用OLE連接 FLASH 5的控件“SwFLASH.ocx”其具體作法如下:

 。1)選菜單"Cotrols OLE",顯示窗口"Insert object",選"Insert Control",在Control Tyle欄里找出"Shockware FLASH Object"(若該控件尚未注冊(cè),可先選"Register Now"對(duì)該控件進(jìn)行注冊(cè));回到PB窗口,用鼠標(biāo)點(diǎn)擊安放此控件在窗口上并調(diào)整大小。

  (2)在編程中使用FLASH5.0的控件“SwFLASH.ocx”提供的主要屬性:

  Movie屬性:存放FLASH動(dòng)畫文件的URL's:在本機(jī)磁盤時(shí)寫全目錄名,或Internet上按瀏覽網(wǎng)頁的地址,例如:f:\touch\start.swf。

  Quality(分辨率)屬性:播放的分辨率,有0(low),1(AutoLow),2(Hight),3(AutoHight),4(Best)五個(gè)值 。

  Scale屬性:播放的屏幕,有0(ShowAll), 1(NoBorder), 2(ExactFit)三個(gè)值 。

  Loop(循環(huán)播放)屬性:true, false 。

  menu(菜單)屬性:true, false 。

  (3)根據(jù)應(yīng)用的需要進(jìn)行編程,如在窗口的“open”事件中,設(shè)置“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控制動(dòng)畫播放

  以上設(shè)置了控件的屬性,在程序中只能單一播放已生成的動(dòng)畫文件(“*.swf”),PB不能對(duì)動(dòng)畫進(jìn)行控制,若要PB控制FLASH動(dòng)畫播放,就需要使用“SwFLASH.ocx”控件的方法和事件。

 。1)利用控件的“Setvariable”方法可實(shí)現(xiàn)動(dòng)態(tài)文本的顯示,(例如在動(dòng)畫中播放一段文本“我愛FLASH”,更改為“我愛“PB”)。其作法如下:

  a) 在FLASH動(dòng)畫中設(shè)置文本字段變量。

  在FLASH中選擇動(dòng)態(tài)顯示的文本對(duì)象,在TextOptions面板中選擇動(dòng)態(tài)文本(Dynamic Text ),設(shè)置成文本字段類型。然后在Variable輸入字段變量名稱為:“DispText”。在文本框中輸入“我愛FLASH””

  b) 在PB中運(yùn)用方法。

“Setvariable”方法的格式:setvariable(name as string ,value as string )

  根據(jù)應(yīng)用的需要編程,如窗體中放置一個(gè)按鈕,在按鈕的“Click”事件中編寫

string ls_disp
ls_disp=“我愛PB”
ole_1.Object.Setvariabel(“DispText”,ls_disp)

  c) 運(yùn)行程序,點(diǎn)擊按鈕,F(xiàn)lash動(dòng)畫中的“我愛FLASH”,就會(huì)變?yōu)椤拔覑邸癙B”。

 。2)利用“fscommand”事件,實(shí)現(xiàn)PB與FLASH動(dòng)畫的交互。(如用戶在PB程序的一個(gè)窗體”w_start”中點(diǎn)擊FLASH動(dòng)畫按鈕,打開PB的另外一個(gè)窗口”w_Picture”),方法如下:

  a) 在FLASH中設(shè)置按鈕動(dòng)作

  在FLASH中定義一個(gè)按鈕,打開對(duì)象動(dòng)作面板,點(diǎn)擊Fscommand動(dòng)作,F(xiàn)scommand動(dòng)作自動(dòng)加入在on(release{}之中。Fscommand動(dòng)作可用于傳遞信息給PB,其參數(shù)設(shè)定為:

  command(命令):picture
  Arguments(參數(shù)) :可根據(jù)需要選擇,在此不設(shè)置

  在編輯窗口顯示如下:

on(release){
 fscomman(“picture”);
}


  b) 在PB中OLE控件的“fscommand(string command ,string args)”事件中編程

if command=”picture” then
  open(w_picture)
end if

  c) 運(yùn)行程序,點(diǎn)擊FLASH動(dòng)畫中的按鈕,顯示w_picture窗口

  以上只是簡(jiǎn)單的介紹了PB如何使用OLE控件"SwFLASH.ocx"控制動(dòng)畫播放的方法,在實(shí)際運(yùn)用中,應(yīng)根據(jù)實(shí)際需要,靈活使用控件實(shí)現(xiàn)PB與Flash動(dòng)畫的完美結(jié)合。

  4. 結(jié)束語

  在實(shí)際中,我們已運(yùn)用上述方法開發(fā)了一套咨詢臺(tái)軟件,該軟件具有非常友好的界面,功能齊全,使用方便的優(yōu)點(diǎn),受到用戶的青睞。希望該方法對(duì)編程愛好者有所幫助。