陳冬梅
""摘要:主要剖析了學(xué)生多媒體作品“廣州潮流美食”項(xiàng)目的設(shè)計(jì)思想、流程以及制作的過(guò)程,提出了項(xiàng)目制作中的重難點(diǎn),最后總結(jié)出一些技巧并提出有待改進(jìn)之處。
關(guān)鍵詞:多媒體;Authorware;程序;flash;交互性
中圖分類號(hào):G424 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)21-0174-02
1 概述
多媒體技術(shù)主要指多媒體計(jì)算機(jī)技術(shù),是指用計(jì)算機(jī)綜合處理和控制文字、圖像、音頻和視頻等多媒體信息,使多種信息建立起邏輯鏈接,集成為一個(gè)系統(tǒng)并具有交互作用,在信息時(shí)代高速發(fā)展的今天,多媒體技術(shù)也大步伐地走進(jìn)了我們的生活。
制作“廣州潮流美食”項(xiàng)目的目的是為廣大食客介紹廣州美食,為他們提供美食信息,第一時(shí)間找到相關(guān)信息,有所選擇地去品嘗廣州各區(qū)美食,同時(shí)了解廣州美食文化。
2 項(xiàng)目介紹及整體構(gòu)思
2.1 項(xiàng)目簡(jiǎn)介
本項(xiàng)目是一個(gè)介紹廣州各區(qū)美食而制作的,也有商業(yè)因素,正所謂有求必有供,廣大的食客們需要食物方面的信息,誰(shuí)提供呢?主要是飯店、酒樓和茶樓,這些飲食業(yè)部門在提供了信息的同時(shí),也給自己賣了廣告,一舉兩得!作者圍繞廣州潮流美食這一主題將找到的信息過(guò)濾、設(shè)計(jì)界面,排版,方便讀者閱讀,將程序的內(nèi)容更人性化,優(yōu)化了系統(tǒng)模塊流程,讓程序運(yùn)行得更加暢順!最后將這些內(nèi)容都集成到多媒體光盤中。
2.2 整體構(gòu)思
根據(jù)制作項(xiàng)目的特點(diǎn),制作工具選擇了Authorware作為多媒體集成工具,使用其他軟件處理素材,演示窗口的大小使用800X600像素。通過(guò)對(duì)素材整理,整體流程框架如圖1所示:
3 技術(shù)文檔規(guī)范
技術(shù)文檔非常重要,按照技術(shù)文檔來(lái)做項(xiàng)目,不僅工作效率高,而且做出來(lái)的東西要規(guī)范得多,修改也容易。嚴(yán)格按照技術(shù)文檔來(lái)做的話,那么不管有多少人共同完成項(xiàng)目,不管項(xiàng)目有多大,完成后都會(huì)非常統(tǒng)一。就算獨(dú)立完成項(xiàng)目,由于項(xiàng)目中文檔及使用的變量較多,為了避免在設(shè)計(jì)過(guò)程中混淆,在前期的工作準(zhǔn)備之下,也簡(jiǎn)單地撰寫了一份技術(shù)文檔。
1)技術(shù)文檔中對(duì)于媒體格式的規(guī)定
在技術(shù)文檔中將各類媒體的格式或者壓縮規(guī)定好,以便于在素材采集和處理時(shí)做到媒體格式統(tǒng)一和視覺(jué)、聽覺(jué)效果的統(tǒng)一。如文字的編輯標(biāo)準(zhǔn):統(tǒng)一采用系統(tǒng)字體以減少程序的數(shù)據(jù)量,加快程序的運(yùn)行速度。
2)對(duì)于圖標(biāo)名稱和變量名稱的規(guī)定
圖標(biāo)名稱和變量名稱同樣非常重要,如果隨意命名會(huì)導(dǎo)致重復(fù)和混亂,如果模塊多的話,一旦變量和圖標(biāo)名稱重復(fù),就會(huì)導(dǎo)致很嚴(yán)重的錯(cuò)誤。所以要嚴(yán)格規(guī)定圖標(biāo)和變量的命名規(guī)則,這樣不僅減少了程序錯(cuò)誤,還使以后修改和閱讀程序非常容易。在本項(xiàng)目中定義的變量名說(shuō)明參考如表1所示:
4 關(guān)鍵技術(shù)剖析
4.1 Authorware編程關(guān)鍵技術(shù)
1)使用外部函數(shù)屏蔽桌面內(nèi)容
為了優(yōu)化程序播放界面,作者下載了一個(gè)外部函數(shù)Cover,用來(lái)在程序運(yùn)行時(shí)屏蔽桌面的內(nèi)容,讓程序的界面更加大方素雅。退出時(shí)在計(jì)算圖標(biāo)輸入以下語(yǔ)句:
Uncover()
Quit()
2)控制演示窗口大小和位置
在整體設(shè)計(jì)項(xiàng)目時(shí),都要先定義演示窗口的大小,用函數(shù)設(shè)置演示窗口大小前,先要將演示窗口大小設(shè)置為可改變的,將菜單欄等去掉,留下標(biāo)題欄和屏幕居中,這樣當(dāng)打包運(yùn)行時(shí)演示窗口就會(huì)位于屏幕的中央,并且可以通過(guò)函數(shù)改變其大小,在計(jì)算圖標(biāo)內(nèi)輸入以下語(yǔ)句:
ResizeWindow(800,600)
說(shuō)明:ResizeWindow重新設(shè)定當(dāng)前窗口,使之和指定的width(800),height(600)參數(shù)相符合,設(shè)置的窗口大小為800X600像素。
3)利用判斷圖標(biāo)制作片頭動(dòng)畫
在片頭動(dòng)畫設(shè)計(jì)中,使用了Authorware的移動(dòng)圖標(biāo)和判斷圖標(biāo)實(shí)現(xiàn),移動(dòng)圖標(biāo)控制界面上方和下方圖片來(lái)回移動(dòng),而判斷圖標(biāo)的作用是設(shè)置界面上下方圖片按順序播放移動(dòng)圖標(biāo)的內(nèi)容,由變量r的值來(lái)控制程序跳出判斷圖標(biāo)(r初始值為0),當(dāng)r的值為1時(shí),進(jìn)入主程序界面落不明。
控制變量r的值有兩種方法,第一種方法是在判斷圖標(biāo)里最后放一個(gè)計(jì)算圖標(biāo),輸入語(yǔ)句r:=1,因?yàn)樵O(shè)置了順序播放,所以這種方法是要等片頭動(dòng)畫全部執(zhí)行完畢后才會(huì)執(zhí)行該語(yǔ)句;第二種方法是如果大家很快就看完了片頭的內(nèi)容, 可以不用等片頭動(dòng)畫播放直到執(zhí)行圖標(biāo)r:=1的圖標(biāo)才能進(jìn)入主界面,作者在順序播放判斷圖標(biāo)下面的每個(gè)群組內(nèi)有一交互圖標(biāo)都添加了一個(gè)熱區(qū)域按鈕,在群組圖標(biāo)下的交互式圖標(biāo)中放一個(gè)計(jì)算圖標(biāo),輸入GoTo(IconID@"定義窗口大小")語(yǔ)句,單擊熱區(qū)域即程序會(huì)跳到“定義窗口大小”的計(jì)算圖標(biāo)并執(zhí)行圖標(biāo)內(nèi)容,就可以進(jìn)入主程序界面了。
4.2 對(duì)程序文件進(jìn)行“瘦身”
多媒體軟件,集成了大量的真彩圖像、三維動(dòng)畫及高音質(zhì)的聲音,因此一般多媒體軟件的“身子骨”都是比較龐大的,給我們帶來(lái)了一些不便,一方面,程序容量太大給程序的分發(fā)、傳遞帶來(lái)極大的不便;另一方面,日積月累,電腦中有限的硬盤空間很快就被海量的聲音、圖形圖像以及動(dòng)畫影像文件吃光了;再者多媒體文件大了之后在調(diào)用多媒體文件時(shí)會(huì)發(fā)出聲音和圖像不同步現(xiàn)象,嚴(yán)重影響演示效果,那么我們能不能給這些軟件“減肥”,在不影響它們功能的前提下,盡量做小一些,這樣不僅會(huì)降低對(duì)系統(tǒng)的要求,程序在運(yùn)行時(shí)也會(huì)暢順許多,如何保持程序多媒體的優(yōu)點(diǎn),同時(shí)又盡量節(jié)約硬盤空間,確實(shí)是個(gè)急需解決的問(wèn)題,本項(xiàng)目中主要從以下幾個(gè)方面為程序文件“瘦身”的:
1)聲音文件
壓縮成MP3文件,使用變量調(diào)用要播放的音樂(lè)。將CD或WAV的聲音文件用MP3 壓縮工具轉(zhuǎn)換成MP3格式的文件,利用函數(shù)和變量隨機(jī)調(diào)用已經(jīng)壓宿好的音樂(lè)文件,讓其隨機(jī)播放音樂(lè),其實(shí)現(xiàn)的語(yǔ)句如下:
摘要:Flash是非常流行的一款多媒體矢量動(dòng)畫軟件,在互聯(lián)網(wǎng)、多媒體課件制作以及游戲軟件制作領(lǐng)域有廣泛的應(yīng)用,ActionScript作為Flash的腳本語(yǔ)言,在動(dòng)畫中應(yīng)用腳本語(yǔ)言,可以制作出交互性強(qiáng)、動(dòng)畫效果更加豐富的Flash動(dòng)畫。目前,F(xiàn)lash軟件的最新版本是cs6,對(duì)應(yīng)的腳本語(yǔ)言是AS3,但現(xiàn)在很多Flash動(dòng)畫制作教材中,關(guān)于Flash的腳本語(yǔ)言應(yīng)用的內(nèi)容仍然是AS2,該文結(jié)合多年的Flash動(dòng)畫制作教學(xué)體會(huì),總結(jié)利用AS3進(jìn)行腳本語(yǔ)言應(yīng)用的教學(xué)探討。
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)21-0162-02
1 Flash軟件及ActionScript的發(fā)展
Flash軟件常用版本經(jīng)歷了Flash 5、Flash mx(6)、Flash mx2004、Flash 8.0、Flash cs3、Flash cs4、Flash cs5、Flash cs6。flash的腳本發(fā)展,從最初發(fā)展到現(xiàn)在經(jīng)歷了三個(gè)過(guò)程,Actionscript1.0,Actionscript2.0到現(xiàn)在的Actionscript3.0,flash8.0之前的版本都使用的是as2.0以前的腳本,早期的flash 3中采用的是ActionScript 1.0,最簡(jiǎn)單、最靈活、比較容易理解,這種狀況一直保持到flash 5,在flash mx (即flash 6)版本中得到的增強(qiáng);Flash MX2004 (即Flash 7)引入了ActionScript 2.0,ActionScript 2.0則相對(duì)比較規(guī)范,是1.0的升級(jí)版。首次將OOP(Object Oriented Programming,面向?qū)ο蟮某绦蛟O(shè)計(jì))引入Flash。它帶來(lái)了兩大改進(jìn):變量的類型檢測(cè)和新的class類語(yǔ)法。ActionScript 2.0的變量類型會(huì)在編譯時(shí)執(zhí)行強(qiáng)制類型檢測(cè);從 flash CS3(即flash 9) 開始升級(jí)為ActionScript 3.0,更加系統(tǒng)、規(guī)范和完善的OOP。ActionScript 3不光有一個(gè)帶有新的版本號(hào)的ActionScirpt 語(yǔ)言,還有一個(gè)全新的虛擬機(jī)。ActionScript 1.0和ActionScript 2.0都使用是AVM1(ActionScript 虛擬機(jī)1),因此它們?cè)谛枰胤艜r(shí)本質(zhì)上是一樣的,在ActionScript2上它增加了強(qiáng)制變量類型和新的類語(yǔ)法,它實(shí)際上在最終編譯時(shí)變成了ActionScript 1,而ActionScript 3.0運(yùn)行在AVM2上,一種新的專門針對(duì)ActionScirpt 3代碼的虛擬機(jī)。在編譯階段,as2采用的是AVM1(actionScript vitual machine),而as3采用的是AVM2。新一代虛擬機(jī)采用了OOP思想,在執(zhí)行速度上比起avm1也快了10倍,還提供了異常處理。同時(shí)使用AS2時(shí),一旦出錯(cuò),AVM1選擇的是靜默失敗,讓人根本不知道什么地方出錯(cuò)了,會(huì)浪費(fèi)大量的時(shí)間去查錯(cuò),而AVM2與目前主流的編譯器一樣,會(huì)有異常處理,運(yùn)行出錯(cuò)會(huì)輸出錯(cuò)誤提示,工作效率大大提高。
2 AS3與AS2的主要區(qū)別
新建一個(gè)flash文檔時(shí),會(huì)有新建文檔提示,我們可以選擇建立as3文檔或as2文檔。
在ActionScript2.0(AS2)文檔中,代碼可以寫在三個(gè)地方,1)寫在幀上;2)寫在影片剪輯上;3)寫在按鈕上。
在ActionScript3.0(AS3)文檔中,代碼只能寫在幀中,不像AS2那么隨意,如果控制按鈕或影片剪輯,那就只能靠實(shí)例名來(lái)控制了。其實(shí)這也是為了規(guī)范,和其他編程軟件一樣,要控制哪個(gè)組件,你就得有這個(gè)組件的名字。
AS3中帶下劃線的變量不需要下劃線了,如_x, _y,變?yōu)閤,y,其他的如_root、_visible、_width、_height 等都是直接去掉下劃線;_xscale 變?yōu)?scaleX, _yscale 變?yōu)?scaleY,
scale 值的表示方式改變:
AS2 _xscale = 200 表示 200%
AS3 scaleX = 2 表示 200%
3 ActionScript3.0文檔應(yīng)用例子
3.1 動(dòng)畫播放停止的腳本
創(chuàng)建一個(gè)ActionScript3.0動(dòng)畫,新建一個(gè)按鈕圖層,并拖入兩個(gè)按鈕,給單擊實(shí)現(xiàn)停止的按鈕實(shí)例命名為an1, 給單擊實(shí)現(xiàn)播放的按鈕實(shí)例命名為an2,為實(shí)現(xiàn)動(dòng)畫測(cè)試時(shí)停止在第一幀,單擊播放和停止按鈕實(shí)現(xiàn)控制動(dòng)畫,可新建as圖層,并在as圖層第一幀寫入如下腳本:
stop();
an1.addEventListener(MouseEvent.CLICK,a1);
function a1(e:MouseEvent) {
stop();
}
an2.addEventListener(MouseEvent.CLICK,a2)
function a2(e:MouseEvent) {
play();
}
3.2 帶有影片剪輯元件動(dòng)畫播放停止的實(shí)現(xiàn)腳本
如果動(dòng)畫中應(yīng)用有影片剪輯元件,會(huì)看到開始測(cè)試,影片剪輯元件是播放的,單擊停止按鈕,影片剪輯元件不起作用,可以作以下改動(dòng)實(shí)現(xiàn),在屬性面板給影片剪輯實(shí)例命名ypjj,腳本更改為:
stop();
ypjj.stop();
an1.addEventListener(MouseEvent.CLICK,a1);
function a1(e:MouseEvent) {