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

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

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

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

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

  1. 前言

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

  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)畫(huà)文件的URL's:在本機(jī)磁盤(pán)時(shí)寫(xiě)全目錄名,或Internet上按瀏覽網(wǎng)頁(yè)的地址,例如: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”控件的屬性值,錄入下述代碼即可(或者在屬性頁(yè)填寫(xiě)):

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)畫(huà)播放

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

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

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

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

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

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

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

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

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

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

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

  在FLASH中定義一個(gè)按鈕,打開(kāi)對(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)畫(huà)中的按鈕,顯示w_picture窗口

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

  4. 結(jié)束語(yǔ)

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