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

下載本文檔

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

文檔簡(jiǎn)介

1、Director與Flash在多媒體系統(tǒng)開發(fā)中的差異分析摘要:Director和Flash兩種軟件都是在多媒體系統(tǒng)開發(fā)領(lǐng)域常用的工具,但是二者在開發(fā)過程中如何更好地協(xié)調(diào)配合使用卻是一個(gè)值得關(guān)注的問題。本文介紹了兩種多媒體開發(fā)工具Director和Flash的,討論了二者在交互控制、數(shù)據(jù)庫(kù)綁定等方面的差異。關(guān)鍵詞:Director Flash 多媒體 系統(tǒng) 0 引言 Director、Flash這兩種多媒體開發(fā)工具都是Macromedia公司在多媒體開發(fā)領(lǐng)域的拳頭產(chǎn)品,它們與另一種開發(fā)工具Authoware并稱為“多媒體三劍客”,然而Authoware由于其本身交互語(yǔ)言功能的限制,以及對(duì)視頻、音

2、頻等多媒體素材的兼容上容易出錯(cuò),當(dāng)Macromedia公司被Adobe收購(gòu)之后,一直沒有官方的新版本出現(xiàn),逐漸被冷落。而Director與Flash卻依然如日中天,2008年初Adobe Director11與Adobe Shockwave Player上市,而Flash更是有:Adobe Flash 8 、Adobe FlashCS3、以及Adobe Flash Player8、9等多個(gè)版本在Adobe名下發(fā)布。本文將對(duì)Director 和Flash 在開發(fā)應(yīng)用上的異同點(diǎn)進(jìn)行探討,使得用戶能夠充分發(fā)揮二者的優(yōu)勢(shì)并加以合理利用,從而提高多媒體系統(tǒng)開發(fā)的效率。 1 兩種開發(fā)工具的開發(fā)方向 當(dāng)前,

3、許多www的站點(diǎn)以Flash作為系統(tǒng)開發(fā)的重要工具,制作諸如導(dǎo)航、菜單、公告等頁(yè)面元素,另外,隨著web2.0概念的提出,F(xiàn)lash的“孿生兄弟”Flex成為了新興的RIA(富互聯(lián)網(wǎng)應(yīng)用程序)系統(tǒng)的一個(gè)重要開發(fā)工具。但是,有得必有失,F(xiàn)lash因其小巧很快在互聯(lián)網(wǎng)走紅,但它所支持的多媒體資源有限,比如無法支持3D渲染,無法流暢支持高質(zhì)量視頻,這就使得系統(tǒng)的表現(xiàn)力大打折扣,因此,客觀地說,F(xiàn)lash開發(fā)的系統(tǒng)更適用于平臺(tái),而要制作表現(xiàn)力更加強(qiáng)大、信息量更加豐富的桌面多媒體系統(tǒng),還是要用Director來實(shí)現(xiàn),Director憑借其海量的Xtras外掛程序的支持,優(yōu)秀的內(nèi)存管理調(diào)度能力,以及對(duì)3D

4、資源的強(qiáng)力整合,能夠非常輕松地實(shí)現(xiàn)復(fù)雜效果的設(shè)計(jì)過程,然而,Director的缺點(diǎn)也很明顯,它所生成的發(fā)布文件以及所需的shockwave播放插件本身要比Flash大得多,因此雖然它支持網(wǎng)絡(luò)發(fā)布的模式,但是它并不適合像Flash所創(chuàng)建的系統(tǒng)那樣以B/S模式的姿態(tài)出現(xiàn),受限于網(wǎng)絡(luò)帶寬,沒有用戶愿意花費(fèi)大量的時(shí)間去在瀏覽器上等待一個(gè)未知數(shù)。故而Director更多的面向的是本地的產(chǎn)品展示或者C/S模式的多媒體系統(tǒng)客戶端。 2 交互控制 2.1 Lingo、JavaScript與ActionScript Director和Flash都提供了功能強(qiáng)大的交互語(yǔ)言,Director中可以采用Lingo與J

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

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

7、or中的Lingo,或是Flash中的ActionScript,它們都提供了與對(duì)方的接口,實(shí)現(xiàn)Director和Flash的相互控制。 2.2.1 Flash To Director的信息傳遞 在Flash中可以通過Geturl函數(shù)直接調(diào)用Director的Lingo命令,如 on(rollover) geturl(“l(fā)ingo:cursor?280“); on(rollout) geturl(“l(fā)ingo:cursor?0“); 將上面的actionscript加在Flash按鈕上,然后將其導(dǎo)入到Director中就能實(shí)現(xiàn)光標(biāo)的變換了。 使用Flash中的event命令,如:geturl?(

8、“event:readtxt,”c.txt”,”dairy”) 上面的actionscript可以執(zhí)行director中的影片腳本中的readtxt函數(shù),并傳遞“c.txt”和“dairy”兩個(gè)參數(shù)給readtxt函數(shù)。 2.2.2 Director To Flash的信息傳遞: 在Director中控制Flash演員播放、停止等命令 sprite(FlashSpriteNum).play()播放Flash演員 sprite(FlashSpriteNum).stop()停止Flash演員的播放 類似的函數(shù)有rewind()、gotoframe()等等,其詳細(xì)的用法見前面的“控制Flash”。

9、使用getVariable函數(shù)來直接獲取Flash演員中的值 getVariable(sprite FlashSpriteNum,“password”) 獲取位于通道FlashSpriteNum中的Flash演員中變量password的值 使用setVariable函數(shù)來設(shè)置Flash演員中的值 setVariable(sprite FlashSpriteNum,“password”,“admin”) 將位于通道FlashSpriteNum中Flash演員中的password變量的值設(shè)置為admin 3 數(shù)據(jù)庫(kù)綁定 客觀地說,無論Flash還是Director它們對(duì)數(shù)據(jù)庫(kù)的支持都十分有限, 以

10、下對(duì)他們的連接數(shù)據(jù)庫(kù)方式進(jìn)行簡(jiǎn)要探討: 3.1 Director的數(shù)據(jù)庫(kù)常用連接方式: 3.1.1 使用列表(List) 每種語(yǔ)言都有存儲(chǔ)一組數(shù)據(jù)的能力。在有些語(yǔ)言中,稱為數(shù)組。在Director的Lingo里,叫做列表(List)。列表可以分成兩類:線性列表(1inear list)和屬性列表(property list)。線性列表是指包含在單個(gè)變量里的一串?dāng)?shù)字、字符串或數(shù)據(jù)。如包含人名/電話號(hào)碼的線性列表例子: myList=張三,85667788,李四,56453336,王二,86879996 屬性列表里的每個(gè)元素都包含一個(gè)屬性名稱和屬性值。下面是一個(gè)典型的屬性列表: MyList=#n

11、ame:張三,#phone:85667788,#employeSince:20001 在Lingo中盡管沒有專門的數(shù)據(jù)庫(kù)操作指令,但對(duì)于列表,Lingo提供了管理和操縱列表數(shù)據(jù)的命令。它們能在列表的開始或特定位置添加數(shù)據(jù)在列表的末尾增添數(shù)據(jù)從列表中刪除數(shù)據(jù)從列表的特定位置訪問數(shù)據(jù)編輯列表中存儲(chǔ)的數(shù)據(jù)對(duì)列表中的數(shù)據(jù)排序列表中的數(shù)據(jù)項(xiàng)的數(shù)量。因此,利用列表 list可以模擬實(shí)現(xiàn)數(shù)據(jù)庫(kù)的功能。 3.1.2 應(yīng)用第三方專業(yè)的數(shù)據(jù)庫(kù)插件(Xtra) 針對(duì)Lingo語(yǔ)言在數(shù)據(jù)庫(kù)操作方面的弱點(diǎn)。許多第三方廠商為Director專門設(shè)計(jì)了擴(kuò)展其數(shù)據(jù)庫(kù)功能的插件(Xtra)。它們的執(zhí)行效率很高,封裝性好,安裝方

12、便,有的可以跨平臺(tái)使用。這些插件在Director和其暫時(shí)無法實(shí)現(xiàn)的功能之間架起了一座橋梁,為數(shù)據(jù)庫(kù)功能的實(shí)現(xiàn)鋪設(shè)了寬闊的大道,典型的插件主要有國(guó)外的Datagrip、EasyDB、V12以及國(guó)內(nèi)自主開發(fā)的ODBC、bitDBreader等。 3.2 Flash中的數(shù)據(jù)庫(kù)常用連接方式: 3.2.1 利用ASP實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接 假如我們要用Flash做一個(gè)登陸界面,接受用戶ID號(hào),然后提交數(shù)據(jù)庫(kù)查詢,再返回其姓名,我們來看下如何實(shí)現(xiàn)。假設(shè)Flash端有一個(gè)按鈕,ID號(hào)用變量input存儲(chǔ),返回的姓名賦給變量output。那么Flash端的AS代碼如下: on(release)load variab

13、les(searchasp?input=,0,vars=get) 這樣,當(dāng)在動(dòng)畫過程中這個(gè)按鈕被點(diǎn)擊并釋放后,Input變量將被傳遞給searchasp文件,傳遞方式為get。下面看一下searchasp如何接受并返回處理的結(jié)果: dim userid /定義變量 userid=request.form(input)/接收變量 set conn=-server.createobject(adodb.connection) /定義連接對(duì)象 set recordset=server.createobject(adodb.recordset) /定義記錄對(duì)象 conn.openuser /打開數(shù)據(jù)庫(kù)

14、連接的DSN /數(shù)據(jù)庫(kù)處理程序 recordset.close conn.dose response.write(output=+server.urlencode(查詢結(jié)果) /從asp向Flash返回結(jié)果 上面使用函數(shù)server.urlencode(variablenarne)來保證傳遞回去的變量是按照URL格式編碼的,這樣便以最簡(jiǎn)單的方式實(shí)現(xiàn)了Flash和數(shù)據(jù)庫(kù)的連接。 3.2.2 其他方式 除了前面介紹的兩種方式外,F(xiàn)lash還可以通過類似于ASP的PHP、JSP腳本以及XML數(shù)據(jù)島和基于Socket的中間件技術(shù)來實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接,由于文章篇幅的關(guān)系,此處就不一一贅述了。 4 結(jié)束語(yǔ) 計(jì)算機(jī)多媒體技術(shù)是上世紀(jì)90年代興起的一個(gè)計(jì)算機(jī)學(xué)科的重要分支,在未來的很長(zhǎng)的一段時(shí)間內(nèi),都會(huì)吸引很多技術(shù)人員投身其中,進(jìn)行各種多媒體系統(tǒng)的設(shè)計(jì)制作。隨之而來的是多媒體開發(fā)工具種類的進(jìn)一步豐富,界面的進(jìn)一步友好,而如何根據(jù)不同系統(tǒng)的特點(diǎn)選擇適當(dāng)?shù)拈_發(fā)工具是一個(gè)值得眾多開發(fā)人員思考的問題。本文拋磚引玉,希望能夠?qū)氖露嗝襟w系統(tǒng)開發(fā)的朋友們起到一定的借鑒作用。:1謝俊.DIRECTOR的數(shù)據(jù)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論