国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Delphi與Flash的交互與應(yīng)用

2012-04-29 18:08:09金捷
電腦知識與技術(shù) 2012年15期
關(guān)鍵詞:交互

金捷

摘要:隨著Flash CS4及ActionScript 3.0的廣泛應(yīng)用,在Flash中可以實現(xiàn)各種功能,并可嵌入到Delphi中,實現(xiàn)兩者的交互,使Delphi界面變得更為生動、豐富,并改善了用戶的使用體驗。

關(guān)鍵詞:Delphi;Flash;ActionScrip;交互;設(shè)計流程

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2012)15-3566-03

The Interaction and Applications of Delphi and Flash

JIN Jie

(Shanghai Electric Power Hospital, Shanghai 200050, China)

Abstract: With the applications of Flash CS4and ActionScript 3,Flash can achieve a variety of functions,and it also can be embedded into Delphi,and interact each other,it makes the interface become more vivid,rich,and also improving the use experience.

Key words: Delphi; Flash; ActionScript; intercommunion; design

1 Delphi、Flash CS4、ActionScript簡介

Delphi是一個集成開發(fā)環(huán)境,以圖形用戶界面為開發(fā)環(huán)境,透過IDE、VCL工具與編譯器,配合連結(jié)數(shù)據(jù)庫的功能,構(gòu)成一個以面向?qū)ο蟪绦蛟O(shè)計為中心的應(yīng)用程序開發(fā)工具。

隨著科技的不斷發(fā)展,各個領(lǐng)域?qū)赢嫷囊笤絹碓礁撸鳩lash作為一款可以作出任何動畫的軟件已被廣泛應(yīng)用,F(xiàn)lash可以通過添加圖片、聲音、視頻和特殊效果創(chuàng)作出既漂亮又可改變尺寸的導航界面,F(xiàn)lash可以包含簡單的動畫、視頻內(nèi)容、復雜演示文稿和應(yīng)用程序以及介于它們之間的任何內(nèi)容。

ActionScript是一種基于ECMAScript的面向?qū)ο缶幊陶Z言,用來編寫Adobe Flash電影和應(yīng)用程序,與以前版本相比,Action Script 3.0代碼的執(zhí)行速度快了數(shù)倍,而且語言簡單,容易編寫、維護更輕松。使用ActionScript 3.0,開發(fā)人員可以編寫具有高性能的響應(yīng)性代碼。

2設(shè)計流程

要使Delphi與Flash交互,第一步必須先設(shè)計Flash界面,編寫ActionScript,當某件事件(如按鈕按下、鼠標移動等操作)觸發(fā)時,F(xiàn)lash將要作出何種反應(yīng),本文主要介紹如何使用ActionScript傳遞消息給Delphi。第二步,Dephi要接收Flash所傳遞來的消息,區(qū)別是何種消息并做出相應(yīng)操作。第三步,Delphi要發(fā)送命令到Flash,告訴Flash應(yīng)該做出什么“動作”。以上就完成了Delphi與Flash之間的交互。

2.1利用Flash設(shè)計元件

本文使用Flash CS4為例,先新建所需的元件,可以是文本、按鈕、也可以是圖片、流媒體等。然后設(shè)計主界面,把所需的元件擺放到相應(yīng)位置。再對各個元件進行相應(yīng)的動畫特效設(shè)計,這里不再詳解。

2.2用ActionScript編寫事件發(fā)送消息

在某一幀中鼠標右鍵,選擇“動作”,這里以按鈕為例,編寫如下語句,為button1加上監(jiān)聽,當鼠標點擊時觸發(fā):

button1.addEventListener(MouseEvent.CLICK,button1click);

function button1click (e:MouseEvent):void {

fscommand("button1","button1事件");

}

這里,MouseEvent.CLICK就是鼠標點擊操作,起名為“button1click”,又如:MouseEvent.ROLL_OVER就是鼠標滑過操作。fscom mand就是發(fā)送消息函數(shù),“button1”就是發(fā)送的消息,為字符型,此例由Delphi接收,“button1事件”是對事件的描述。

2.3 Flash接收消息

在Flash某幀的動作中用ActionScript編寫代碼如下:

import flash.external.*;

ExternalInterface.addCallback("setcolor",setcolor);

function setcolor(str:String):String{

if(str== red ) text1.gotoAndStop(1);

else text1.gotoAndStop(3);

return 1;

}

“setcolor”就是從JavaScript調(diào)用ActionScript函數(shù)時使用的名稱,str就是接收到的字符型消息,由Flash判斷是何種消息,再做出相應(yīng)操作。

設(shè)計和編寫完所有代碼后導出影片,生成swf文件,放在Delphi的執(zhí)行文件同一目錄下即可。

2.4 Delphi接收消息

本文以Delphi 6為例,首先需要在ComponentsImport ActiveX Control中添加Shockwave Flash控件,然后在主界面添加Shock waveFlash組件,此例取名為ShockwaveFlash1,在“Movie”屬性中填寫2.3中生成的swf的文件名,編譯后就可以在Delphi中觀看到Flash,甚至是其中播放的視頻文件。

選擇ShockwaveFlash1的OnFSCommand事件,雙擊,編寫代碼如下:

procedure TfrmRSMain.ShockwaveFlash1FSCommand(Sender: TObject;const command, args: WideString);

begin

If (command=button1) then

Begin

……

showmessage(args);

End

Else if (command=button2) then

Begin

……

showmessage(args);

End

……

end;

這里OnFSCommand為Delphi從Flash中所接收的事件,command為消息,args為描述,由Delphi判斷Flash傳遞的是哪條消息后再做出相應(yīng)操作。

2.5 Delphi傳消息給Flash

在Delphi中編寫語句如下:

ShockwaveFlash1.CallFunction(+ "red"+ );

CallFunction就是發(fā)送消息的函數(shù),"setcolor"就是2.3中從JavaScript調(diào)用ActionScript函數(shù)時使用的名稱,"red"表示傳遞的消息。以上的幾個步驟就完整了Delphi和Flash的一次交互。

3應(yīng)用

Flash不但可以使Delphi界面更豐富、更生動,還有多方面用途。

當我們需要在界面上動態(tài)地顯示各種設(shè)備運行情況(如水泵運行狀態(tài)、水流方向、水箱溫度值、自動扶梯運行情況等)而苦于沒有合適的Delphi插件時,就可以通過這種方法解決難題。先在Flash中畫出各種設(shè)備,設(shè)計特效,用ActionScript編寫后嵌入到Delphi中,由Delphi采集數(shù)據(jù),加以處理后發(fā)送到Flash,最后在Flash中動態(tài)地顯示當前設(shè)備的運行情況與各種信息。這樣可以讓使用者更直接的看到各設(shè)備的運行或報警情況而不必時刻盯住布滿數(shù)值的界面了。

4結(jié)束語

以上方法既可以顛覆Delphi一貫傳統(tǒng)老套的界面,又可以動態(tài)、美觀的方式表現(xiàn)工程設(shè)備運行情況,讓軟件使用者體會到方便與人性化。

參考文獻:

[1]吳志華,邱軍虎.Flash CS4動畫設(shè)計與制作208例[M].北京:中國郵電出版社,2009.

[2]張嶺,宋坤,梁冰.Delphi程序開發(fā)范例寶典[M].北京:中國郵電出版社,2006.

[3] Flash素材源碼共享平臺[EB/OL].http://www.flashline.cn/.

猜你喜歡
交互
實驗激發(fā)思維 問題交流智慧
淺析色彩在人機交互界面中的作用
基于圖形用戶界面的多點觸控交互技術(shù)綜述
大學英語教師“交互”信念、知識與教師專業(yè)發(fā)展
科技視界(2016年24期)2016-10-11 22:11:01
虛擬現(xiàn)實技術(shù)概論
科技視界(2016年11期)2016-05-23 11:28:14
關(guān)于信息化教育模式的大學教育變革的探討
科技視界(2016年5期)2016-02-22 12:54:54
枣庄市| 安仁县| 濮阳县| 繁峙县| 滨州市| 新竹市| 巴林右旗| 建阳市| 集贤县| 扎赉特旗| 荆州市| 南京市| 河津市| 德钦县| 武汉市| 西乌| 南岸区| 海盐县| 海原县| 莱阳市| 八宿县| 河东区| 峡江县| 金昌市| 台安县| 文登市| 盐津县| 泽库县| 唐山市| 孝义市| 迭部县| 南川市| 江津市| 阳东县| 南陵县| 新乐市| 城市| 孟津县| 怀柔区| 辰溪县| 观塘区|