張藍(lán)春
湖北工業(yè)大學(xué)
Flash制作多媒體課件交互功能的實(shí)現(xiàn)方法
張藍(lán)春
湖北工業(yè)大學(xué)
本文主要介紹Flash多媒體課件交互功能的實(shí)現(xiàn)方法。具體設(shè)計(jì)思路是:將授課教學(xué)內(nèi)容分成一個(gè)主目錄課件主控模塊和幾個(gè)子目錄內(nèi)容課件功能模塊。利用Flash技術(shù)分別設(shè)計(jì)主課件模塊和各個(gè)課件功能模塊,最后把它們組織起來(lái)形成合理的課件交互結(jié)構(gòu)。設(shè)計(jì)多媒體課件交互功能是制作多媒體課件的一個(gè)關(guān)鍵環(huán)節(jié)。
flash;多媒體;交互幀;場(chǎng)景;函數(shù)
多媒體課件的重要特征就是多媒體性和交互性,多媒體性指課件內(nèi)容是文字、圖片、動(dòng)畫(huà)、音頻視頻等多媒媒體整合而成,具有豐富的感染力。交互性指用戶(hù)可以控制課件的播放、返回,可以實(shí)現(xiàn)用戶(hù)和計(jì)算機(jī)交互的交流。從而達(dá)到控制學(xué)習(xí)過(guò)程的目的,在各種多媒體應(yīng)用軟件的開(kāi)發(fā)工具中,Macromedia公司推出的Flash是功能最強(qiáng)大、使用最廣泛的也是最負(fù)盛名的多媒體制作軟件, Flash不僅是單單一個(gè)動(dòng)畫(huà)制作軟件,它還是一個(gè)功能強(qiáng)大的多媒體編著工具,在實(shí)現(xiàn)課件的多媒體性、交互性和網(wǎng)絡(luò)性等方面具有其他軟件不可比擬的優(yōu)勢(shì)。
下面,以我設(shè)計(jì)的《flash動(dòng)畫(huà)實(shí)例教程》多媒體課件交互結(jié)構(gòu)為例,介紹實(shí)現(xiàn)Flash多媒體課件交互功能的3種具體方法與相關(guān)現(xiàn)象供大家探討。
這也是最常用的一種方法,將所教學(xué)內(nèi)容分成若干模塊,每個(gè)模塊制作成一個(gè)影片剪輯,將每個(gè)影片剪輯分別放在主場(chǎng)景時(shí)間軸的關(guān)鍵幀上,首先在主時(shí)間軸的每一幀上寫(xiě)Stop()函數(shù),使用stop()函數(shù)命令控制影片剪輯動(dòng)畫(huà)停止,然后通過(guò)教學(xué)內(nèi)容交互按鈕進(jìn)行幀的跳轉(zhuǎn),從而實(shí)現(xiàn)課件內(nèi)容的交互控制。這種方法實(shí)現(xiàn)Flash課件的圖層結(jié)構(gòu)清晰合理,容易修改。
幀的跳轉(zhuǎn)使用的腳本是gotoAndPlay(幀號(hào))函數(shù),來(lái)控制幀跳轉(zhuǎn)并播放。
具體制作思路如下所述:
1)打開(kāi)flash8,新建一個(gè)flash文檔,舞臺(tái)尺寸設(shè)置為1024×768像素或者800×600,這兩個(gè)尺寸大小是多媒體課件制作常用的尺寸,其他屬性默認(rèn)值保持。
2)將授課的課件內(nèi)容分類(lèi)幾個(gè)功能模塊,例如:《flash動(dòng)畫(huà)制作實(shí)例教程》課件,本課件分成了七個(gè)視頻實(shí)例的教程模塊和一個(gè)主目錄模塊。實(shí)例1、實(shí)例2、實(shí)例3、實(shí)例4、實(shí)例5、實(shí)例6、實(shí)例7,每個(gè)實(shí)例模塊創(chuàng)建一個(gè)影片剪輯元件放置本實(shí)例的文本教程內(nèi)容。
3)在“場(chǎng)景1”中新建9個(gè)圖層,并將所有圖層重新命名,從下向上一次是“主目錄”、“實(shí)例1”、“實(shí)例2”、“實(shí)例3”、“實(shí)例4”、“實(shí)例5”、“實(shí)例6”、“實(shí)例7”和AS圖層。
4)在“主場(chǎng)景”圖層,通過(guò)Potoshop圖像處理軟件設(shè)計(jì)背景美化課件,并在主場(chǎng)景中設(shè)計(jì)7個(gè)實(shí)例按鈕,分別被用來(lái)控制課件各個(gè)功能模塊的交互跳轉(zhuǎn),這樣就形成了一個(gè)導(dǎo)航菜單。
5) 在AS圖層上,從第2幀到第8幀分別按插入空白關(guān)鍵幀,然后分別在每個(gè)幀上編寫(xiě)AS腳本代碼:
Stop() //這樣可以保證每個(gè)影片剪輯不會(huì)自動(dòng)播放
6) 分別選擇主目錄場(chǎng)景圖層上的7個(gè)按鈕,在“動(dòng)作”面板編寫(xiě)程序代碼:
“實(shí)驗(yàn)1”按鈕上的程序代碼為:
On(press){
gotoAndStop(2)} //當(dāng)單擊按鈕時(shí)跳轉(zhuǎn)并停止在第2幀課件內(nèi)容。
“實(shí)驗(yàn)2”按鈕上的程序代碼為:
On(press){
gotoAndStop(3)} //當(dāng)單擊按鈕時(shí)跳轉(zhuǎn)并停止在第3幀課件內(nèi)容。
于此類(lèi)推實(shí)例3按鈕跳轉(zhuǎn)到4幀,實(shí)例4按鈕跳轉(zhuǎn)到第5幀等等。
這種方法代碼簡(jiǎn)單、圖層結(jié)果清晰,適合制作只包含一級(jí)課件功能模塊的導(dǎo)航結(jié)果。
這種方法是利用Flash的多場(chǎng)景設(shè)計(jì)的,F(xiàn)lash影片文件的層次結(jié)構(gòu)是這樣的,一個(gè)Flah影片文件可以包括若干個(gè)場(chǎng)景,每個(gè)場(chǎng)景包含一個(gè)主時(shí)間軸。利用場(chǎng)景來(lái)組織課件中的各個(gè)課件模塊,不同的課件模塊放在不同場(chǎng)景中實(shí)現(xiàn)。利用場(chǎng)景跳轉(zhuǎn)函數(shù)來(lái)實(shí)現(xiàn)各個(gè)課件模塊之間的交互。
場(chǎng)景跳轉(zhuǎn)的腳本是gotoAndPlay(“場(chǎng)景名稱(chēng)”,幀號(hào)),一般都是跳轉(zhuǎn)到另一個(gè)場(chǎng)景的第1幀。
設(shè)計(jì)思路如下:
1) 運(yùn)行flash8,新建一個(gè)影片剪輯文檔。設(shè)置舞臺(tái)尺寸為800*600或者1024×768像像素,其他屬性保持默認(rèn)值。
2) 執(zhí)行“窗口”-其他面板-場(chǎng)景命令,打開(kāi)“場(chǎng)景”面板。在其中單擊“添加場(chǎng)景”按鈕8次,新增8個(gè)場(chǎng)景。將場(chǎng)景名稱(chēng)定義為課件模塊相符的名稱(chēng),這樣便于實(shí)現(xiàn)場(chǎng)景的跳轉(zhuǎn)控制。場(chǎng)景跳轉(zhuǎn)函數(shù)就是通過(guò)場(chǎng)景名稱(chēng)這個(gè)基本參數(shù)實(shí)現(xiàn)場(chǎng)景跳轉(zhuǎn)控制。
3) 分別進(jìn)入到“主目錄”場(chǎng)景,“實(shí)例1”場(chǎng)景、“實(shí)例2”等8個(gè)場(chǎng)景中,根據(jù)課件內(nèi)容,在各個(gè)場(chǎng)景中實(shí)現(xiàn)對(duì)應(yīng)到課件功能模塊內(nèi)容。
4) 在課件主目錄控件模塊場(chǎng)景中,主要設(shè)計(jì)一個(gè)導(dǎo)航菜單。導(dǎo)航菜單由若干按鈕組成,按鈕和課件到功能模塊相對(duì)應(yīng)。單擊導(dǎo)航菜單中到按鈕可以進(jìn)入相應(yīng)到課件功能模塊場(chǎng)景。在每個(gè)功能模塊場(chǎng)景中設(shè)計(jì)一個(gè)返回到主目錄模塊的按鈕。這些導(dǎo)航按鈕上到程序代碼到一般形式是:
On(press){gotoAndPlay(“場(chǎng)景名稱(chēng)”,1);} //程序代碼到功能是:當(dāng)單擊并釋放按鈕時(shí),跳轉(zhuǎn)到指定場(chǎng)景名稱(chēng)到場(chǎng)景到第1幀播放。
例如:選取主目錄的第一個(gè)實(shí)例1按鈕,在AS窗口編寫(xiě)代碼:On(press) {gotoAndPlay(“實(shí)例1”,1);} //程序代碼到功能是:當(dāng)單擊并釋放按鈕時(shí),跳轉(zhuǎn)到指定場(chǎng)景實(shí)例場(chǎng)景到第1幀上播放。
以此類(lèi)推實(shí)例2按鈕跳轉(zhuǎn)實(shí)例2的場(chǎng)景上播放,實(shí)例3按鈕跳轉(zhuǎn)到實(shí)例3的場(chǎng)景上播放等等
功能模塊場(chǎng)景返回到主目錄模塊的按鈕的代碼:
On(press){gotoAndPlay(“主場(chǎng)景”,1);} //程序代碼到功能是:當(dāng)按下按鈕時(shí),跳轉(zhuǎn)到主目錄的場(chǎng)景第1幀上。
如下圖主目錄界面和場(chǎng)景界面:
場(chǎng)景跳轉(zhuǎn)使交互結(jié)構(gòu)更加清晰,因?yàn)槊總€(gè)場(chǎng)景有單獨(dú)的時(shí)間軸。但是場(chǎng)景跳轉(zhuǎn)也有缺陷,一個(gè)單獨(dú)的場(chǎng)景就是一個(gè)單獨(dú)的動(dòng)畫(huà),如果場(chǎng)景“方法1”和“方法2”有相同的界面,你并不能共享它們,而是必須在每個(gè)場(chǎng)景中重新組織。
根據(jù)授課教學(xué)內(nèi)容,將教學(xué)內(nèi)容模塊制作成獨(dú)立的Flash影片,并導(dǎo)出成相應(yīng)SWF文件。例如:課件主目錄模塊也制作成獨(dú)立的Flash影片,其中主要設(shè)計(jì)一個(gè)導(dǎo)航菜單。導(dǎo)航菜單由若干按鈕組成,按鈕和課件的功能模塊相對(duì)應(yīng)。單擊導(dǎo)航菜單中的按鈕,可以載入相應(yīng)的課件功能模塊SWF影片。在每個(gè)功能模塊影片中設(shè)計(jì)一個(gè)返回到主控模塊影片的按鈕。主要是利用loadMovie函數(shù)實(shí)現(xiàn)各個(gè)課件模塊間的相互調(diào)用。
根據(jù)課件內(nèi)容,將各個(gè)課件功能模塊制作成獨(dú)立的Flash影片,并導(dǎo)出成相應(yīng)SWF文件。
loadMovie()用來(lái)調(diào)用外部flash文件,只能調(diào)用flash導(dǎo)出的swf類(lèi)型的文件。
用法:
loadMovie(url, target [, method])
操作數(shù)
url 一個(gè)字符串,它指定要加載的SWF 文件的絕對(duì)或相對(duì) URL。相對(duì)路徑必須相對(duì)于級(jí)別 0 處的 SWF 文件。絕對(duì)URL 必須包括協(xié)議引用,如 http:// 或file:///。
target 對(duì)影片剪輯的引用或者表示指向目標(biāo)影片剪輯的路徑的字符串。用已加載的 SWF 文件替換目標(biāo)影片剪輯。
method 可選字符串參數(shù),指定用于發(fā)送變量的 HTTP 方法。該參數(shù)必須是字符串 GET 或 POST。如果沒(méi)有要發(fā)送的變量,則省略此參數(shù)。GET 方法將變量追加到 URL 的末尾,它用于發(fā)送少量的變量。POST 方法在單獨(dú)的 HTTP 標(biāo)頭中發(fā)送變量,它用于發(fā)送大量的變量。
使用 unloadMovie() 函數(shù)可刪除用loadMovie() 加載的 SWF 文件。
實(shí)例1按鈕代碼如下所述。
On(press){load Movie(“實(shí)例1.swf”,0);}
實(shí)例1按鈕代碼如下所述。
On(press){load Movie(“實(shí)例2.swf”,1);}
如果加載不同的影片要設(shè)置不同的級(jí)別,否則會(huì)覆蓋原有的影片剪輯。
于此類(lèi)推實(shí)例3按鈕級(jí)別設(shè)置為4級(jí),實(shí)例4按鈕級(jí)別設(shè)置為5級(jí)等。
方法2:loadMovie("spxz//shili1.swf",kypjj);
這種方法的優(yōu)點(diǎn)是,課件既較好地實(shí)現(xiàn)了模塊化課件設(shè)計(jì)的思想,又使課件具備了很強(qiáng)的網(wǎng)絡(luò)特性。因?yàn)檫@種類(lèi)型的課件在播放時(shí),并不把全部的課件模塊都裝卸到計(jì)算機(jī)的內(nèi)存中,只先裝卸課件的主控模塊,需要時(shí),再課件主控界面上單擊控制按鈕把其他的課件模塊裝卸運(yùn)行。這種方法很適合制作網(wǎng)絡(luò)型Flash課件,具有廣闊的應(yīng)用前景。
事件證明,模塊化程序設(shè)計(jì)思想運(yùn)用到媒體課件制作中,使課件制作過(guò)程科學(xué)化、系統(tǒng)化。本節(jié)討論的三種方法不同程度地實(shí)現(xiàn)了Flash多媒體課件制作模塊化的設(shè)計(jì)思路。這3種方法可以單獨(dú)使用,也可以混合使用,以取得更廣闊的設(shè)計(jì)思路。
[1]繆亮. 多媒體技術(shù)實(shí)用教程
10.3969/j.issn.1001-8972.2012.10.163
張藍(lán)春(1977-),女,黎族,海南人,湖北工業(yè)大學(xué)2010級(jí)計(jì)算機(jī)技術(shù),研究方向?yàn)槎嗝襟w技術(shù)。