• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      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文獻(xiàn)標(biāo)識碼: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ū)赢嫷囊笤絹碓礁?,而Flash作為一款可以作出任何動畫的軟件已被廣泛應(yīng)用,F(xiàn)lash可以通過添加圖片、聲音、視頻和特殊效果創(chuàng)作出既漂亮又可改變尺寸的導(dǎo)航界面,F(xiàn)lash可以包含簡單的動畫、視頻內(nèi)容、復(fù)雜演示文稿和應(yīng)用程序以及介于它們之間的任何內(nèi)容。

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

      2設(shè)計流程

      要使Delphi與Flash交互,第一步必須先設(shè)計Flash界面,編寫ActionScript,當(dāng)某件事件(如按鈕按下、鼠標(biāo)移動等操作)觸發(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)位置。再對各個元件進(jìn)行相應(yīng)的動畫特效設(shè)計,這里不再詳解。

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

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

      button1.addEventListener(MouseEvent.CLICK,button1click);

      function button1click (e:MouseEvent):void {

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

      }

      這里,MouseEvent.CLICK就是鼠標(biāo)點擊操作,起名為“button1click”,又如:MouseEvent.ROLL_OVER就是鼠標(biāo)滑過操作。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è)計和編寫完所有代碼后導(dǎo)出影片,生成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界面更豐富、更生動,還有多方面用途。

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

      4結(jié)束語

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

      參考文獻(xiàn):

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

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

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

      猜你喜歡
      交互
      實驗激發(fā)思維 問題交流智慧
      淺析色彩在人機(jī)交互界面中的作用
      基于圖形用戶界面的多點觸控交互技術(shù)綜述
      大學(xué)英語教師“交互”信念、知識與教師專業(yè)發(fā)展
      科技視界(2016年24期)2016-10-11 22:11:01
      虛擬現(xiàn)實技術(shù)概論
      科技視界(2016年11期)2016-05-23 11:28:14
      關(guān)于信息化教育模式的大學(xué)教育變革的探討
      科技視界(2016年5期)2016-02-22 12:54:54
      吉安市| 淮北市| 化德县| 丹东市| 枝江市| 马关县| 博白县| 广灵县| 洛扎县| 双鸭山市| 海南省| 海兴县| 芦溪县| 安陆市| 尼勒克县| 乳源| 沧州市| 进贤县| 新宁县| 荣昌县| 什邡市| 石屏县| 林周县| 南投县| 张家口市| 德惠市| 鲁山县| 普宁市| 赤壁市| 台前县| 开封县| 长宁区| 双辽市| 营口市| 桃园县| 晋宁县| 邵阳县| 定边县| 孝感市| 沙雅县| 临桂县|