Director與Flash在多媒體系統(tǒng)開發(fā)中的差異分析_第1頁
Director與Flash在多媒體系統(tǒng)開發(fā)中的差異分析_第2頁
Director與Flash在多媒體系統(tǒng)開發(fā)中的差異分析_第3頁
Director與Flash在多媒體系統(tǒng)開發(fā)中的差異分析_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Director與Flash在多媒體系統(tǒng)開發(fā)中的差異分析        摘要:Director和Flash兩種軟件都是在多媒體系統(tǒng)開發(fā)領(lǐng)域常用的工具,但是二者在開發(fā)過程中如何更好地協(xié)調(diào)配合使用卻是一個值得關(guān)注的問題。本文介紹了兩種多媒體開發(fā)工具Director和Flash的,討論了二者在交互控制、數(shù)據(jù)庫綁定等方面的差異。關(guān)鍵詞:Director  Flash  多媒體  系統(tǒng)        0 引言 

2、60;      Director、Flash這兩種多媒體開發(fā)工具都是Macromedia公司在多媒體開發(fā)領(lǐng)域的拳頭產(chǎn)品,它們與另一種開發(fā)工具Authoware并稱為“多媒體三劍客”,然而Authoware由于其本身交互語言功能的限制,以及對視頻、音頻等多媒體素材的兼容上容易出錯,當(dāng)Macromedia公司被Adobe收購之后,一直沒有官方的新版本出現(xiàn),逐漸被冷落。而Director與Flash卻依然如日中天,2008年初Adobe Director11與Adobe Shockwave Player上市,而Flash更是有:Adobe Flas

3、h 8 、Adobe FlashCS3、以及Adobe Flash Player8、9等多個版本在Adobe名下發(fā)布。本文將對Director 和Flash 在開發(fā)應(yīng)用上的異同點進行探討,使得用戶能夠充分發(fā)揮二者的優(yōu)勢并加以合理利用,從而提高多媒體系統(tǒng)開發(fā)的效率。        1 兩種開發(fā)工具的開發(fā)方向        當(dāng)前,許多www的站點以Flash作為系統(tǒng)開發(fā)的重要工具,制作諸如導(dǎo)航、菜單、公告等頁面元素,另外,隨著web2.0概念的提出,F(xiàn)lash

4、的“孿生兄弟”Flex成為了新興的RIA(富互聯(lián)網(wǎng)應(yīng)用程序)系統(tǒng)的一個重要開發(fā)工具。但是,有得必有失,F(xiàn)lash因其小巧很快在互聯(lián)網(wǎng)走紅,但它所支持的多媒體資源有限,比如無法支持3D渲染,無法流暢支持高質(zhì)量視頻,這就使得系統(tǒng)的表現(xiàn)力大打折扣,因此,客觀地說,F(xiàn)lash開發(fā)的系統(tǒng)更適用于平臺,而要制作表現(xiàn)力更加強大、信息量更加豐富的桌面多媒體系統(tǒng),還是要用Director來實現(xiàn),Director憑借其海量的Xtras外掛程序的支持,優(yōu)秀的內(nèi)存管理調(diào)度能力,以及對3D資源的強力整合,能夠非常輕松地實現(xiàn)復(fù)雜效果的設(shè)計過程,然而,Director的缺點也很明顯,它所生成的發(fā)布文件以及所需的shockw

5、ave播放插件本身要比Flash大得多,因此雖然它支持網(wǎng)絡(luò)發(fā)布的模式,但是它并不適合像Flash所創(chuàng)建的系統(tǒng)那樣以B/S模式的姿態(tài)出現(xiàn),受限于網(wǎng)絡(luò)帶寬,沒有用戶愿意花費大量的時間去在瀏覽器上等待一個未知數(shù)。故而Director更多的面向的是本地的產(chǎn)品展示或者C/S模式的多媒體系統(tǒng)客戶端。        2 交互控制        2.1 Lingo、JavaScript與ActionScript Director和Flash都提供了功能強大的交互語言,Di

6、rector中可以采用Lingo與Javascript(Director10后新增)兩種語言,F(xiàn)lash中只提供了ActionScript語言。相比較,Director的兼容性更好些,給用戶的選擇余地更多,因為Javascript擁有更多的用戶基礎(chǔ),很多人在網(wǎng)站開發(fā)等相關(guān)項目中都或多或少地接觸過它。而Lingo語言是一個典型的事件驅(qū)動編程語言,非常適合于多媒體交互系統(tǒng)的開發(fā),但是它的用戶基礎(chǔ)相對薄弱,一般只有涉及Director多媒體開發(fā)才會使用到,所以可能一些用戶使用起來需要一定的時間來上手。對于Flash中的ActionScript語言,最早出現(xiàn)在Flash 3中的ActionScript

7、 1.0語法冗長,主要的應(yīng)用是圍繞著幀的導(dǎo)航和鼠標(biāo)的交互.這種狀況一直保持到Flash 5. 到Flash 5版本時ActionScript已經(jīng)很象JavaScript了。它提供了很強的功能和為變量的傳輸提供了點語法。ActionScript同時也變成了一種prototyped(原型)語言,允許類似于在javscript中的簡單的oop功能。ActionScript的最新版本是ActionScript3.0,它不再只局限于制作Flash特效,更體現(xiàn)在對基于Flex的RIA(富互聯(lián)網(wǎng)應(yīng)用程序)系統(tǒng)的支持上,這些都使得ActionScript的地位與日俱增。    &

8、#160;    2.2 Director與Flash之間的信息傳遞方式 無論是Director中的Lingo,或是Flash中的ActionScript,它們都提供了與對方的接口,實現(xiàn)Director和Flash的相互控制。        2.2.1 Flash To Director的信息傳遞        在Flash中可以通過Geturl函數(shù)直接調(diào)用Director的Lingo命令,如   

9、;     on(rollover)        geturl(“l(fā)ingo:cursor?280“);        on(rollout)        geturl(“l(fā)ingo:cursor?0“);        將上面的actionscript加在Flash按鈕上,

10、然后將其導(dǎo)入到Director中就能實現(xiàn)光標(biāo)的變換了。        使用Flash中的event命令,如:geturl?(“event:readtxt,”c.txt”,”dairy”)        上面的actionscript可以執(zhí)行director中的影片腳本中的readtxt函數(shù),并傳遞“c.txt”和“dairy”兩個參數(shù)給readtxt函數(shù)。        2.2.2 Di

11、rector To Flash的信息傳遞:        在Director中控制Flash演員播放、停止等命令        sprite(FlashSpriteNum).play()播放Flash演員        sprite(FlashSpriteNum).stop()停止Flash演員的播放        類

12、似的函數(shù)有rewind()、gotoframe()等等,其詳細的用法見前面的“控制Flash”。        使用getVariable函數(shù)來直接獲取Flash演員中的值        getVariable(sprite FlashSpriteNum,“password”)        獲取位于通道FlashSpriteNum中的Flash演員中變量password的值 

13、       使用setVariable函數(shù)來設(shè)置Flash演員中的值        setVariable(sprite FlashSpriteNum,“password”,“admin”)        將位于通道FlashSpriteNum中Flash演員中的password變量的值設(shè)置為admin        3 數(shù)據(jù)

14、庫綁定        客觀地說,無論Flash還是Director它們對數(shù)據(jù)庫的支持都十分有限, 以下對他們的連接數(shù)據(jù)庫方式進行簡要探討:        3.1 Director的數(shù)據(jù)庫常用連接方式:        3.1.1 使用列表(List) 每種語言都有存儲一組數(shù)據(jù)的能力。在有些語言中,稱為數(shù)組。在Director的Lingo里,叫做列表(List)。列表可以分成兩類:線性列表(

15、1inear list)和屬性列表(property list)。線性列表是指包含在單個變量里的一串?dāng)?shù)字、字符串或數(shù)據(jù)。如包含人名/電話號碼的線性列表例子:        myList="張三","85667788","李四","56453336","王二","86879996"        屬性列表里的每個元素都包含一個屬性名稱和屬性

16、值。下面是一個典型的屬性列表:        MyList=#name:"張三",#phone:"85667788",#employeSince:20001                 在Lingo中盡管沒有專門的數(shù)據(jù)庫操作指令,但對于列表,Lingo提供了管理和操縱列表數(shù)據(jù)的命令。它們能在列表的開始或特定位置添加數(shù)據(jù)在列表的末尾增添

17、數(shù)據(jù)從列表中刪除數(shù)據(jù)從列表的特定位置訪問數(shù)據(jù)編輯列表中存儲的數(shù)據(jù)對列表中的數(shù)據(jù)排序列表中的數(shù)據(jù)項的數(shù)量。因此,利用列表 list可以模擬實現(xiàn)數(shù)據(jù)庫的功能。        3.1.2 應(yīng)用第三方專業(yè)的數(shù)據(jù)庫插件(Xtra) 針對Lingo語言在數(shù)據(jù)庫操作方面的弱點。許多第三方廠商為Director專門設(shè)計了擴展其數(shù)據(jù)庫功能的插件(Xtra)。它們的執(zhí)行效率很高,封裝性好,安裝方便,有的可以跨平臺使用。這些插件在Director和其暫時無法實現(xiàn)的功能之間架起了一座橋梁,為數(shù)據(jù)庫功能的實現(xiàn)鋪設(shè)了寬闊的大道,典型的插件主要有國外的D

18、atagrip、EasyDB、V12以及國內(nèi)自主開發(fā)的ODBC、bitDBreader等。        3.2 Flash中的數(shù)據(jù)庫常用連接方式:        3.2.1 利用ASP實現(xiàn)數(shù)據(jù)庫連接 假如我們要用Flash做一個登陸界面,接受用戶ID號,然后提交數(shù)據(jù)庫查詢,再返回其姓名,我們來看下如何實現(xiàn)。假設(shè)Flash端有一個按鈕,ID號用變量"input"存儲,返回的姓名賦給變量"output"。那么Flash

19、端的AS代碼如下:        on(release)load variables("searchasp?input=",0,vars=get)        這樣,當(dāng)在動畫過程中這個按鈕被點擊并釋放后,Input變量將被傳遞給searchasp文件,傳遞方式為get。下面看一下searchasp如何接受并返回處理的結(jié)果:        dim userid /定義

20、變量        userid=request.form("input")/接收變量        set conn=-server.createobject("adodb.connection")  /定義連接對象        set recordset=server.createobject("adodb.records

21、et")  /定義記錄對象        conn.open"user" /打開數(shù)據(jù)庫連接的DSN  /數(shù)據(jù)庫處理程序        recordset.close        conn.dose        response.write("output="+server.urlencode("查詢結(jié)果") /從asp向Flash返回結(jié)果        上面使用函數(shù)server.urlencode(variablenarne)來

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論