辛 浩,李玲玲
(淮北職業(yè)技術(shù)學(xué)院計(jì)算機(jī)科學(xué)技術(shù)系,安徽淮北 235000)
淺談Flash動畫制作中的ActionScript
辛 浩,李玲玲
(淮北職業(yè)技術(shù)學(xué)院計(jì)算機(jī)科學(xué)技術(shù)系,安徽淮北 235000)
ActionScript使得Flash動畫制作具有很好的交互性,實(shí)現(xiàn)了Flash工具所不能實(shí)現(xiàn)的很多功能。文章重點(diǎn)分析了ActionScript的發(fā)展歷程,詳細(xì)介紹了ActionScript的語法規(guī)則,并通過鼠標(biāo)跟隨的實(shí)例演示了ActionScript的強(qiáng)大功能。
Flash;動畫制作;ActionScript?
Flash動畫制作中的技巧有很多,有逐幀動畫、補(bǔ)間動畫、引導(dǎo)線動畫等,如果說這些技巧都是用于制作動畫的筋骨的話,那么ActionScript則賦予了動畫的靈魂。正是因?yàn)锳ction-Script的存在,Flash才能從眾多的軟件中脫穎而出。
使用ActionScript動作腳本語言制作出的動畫具有很好的交互性。可以讓動畫與用戶更好地交流。同時(shí)也實(shí)現(xiàn)了僅用Flash工具所不能實(shí)現(xiàn)的功能。
ActionScript腳本語言的功能有很多,如交互功能、控制播放和數(shù)據(jù)顯示等。Flash中可以使用動作面板、“腳本”窗口和外部編輯器在創(chuàng)作的環(huán)境內(nèi)添加ActionScript。ActionScript有自己固有的語法格式,包含內(nèi)置類,支持自定義對象。
ActionScript有1.0、2.0、3.0等多個(gè)版本:ActionS-cript 1.0是最簡單的ActionScript,是較低的版本;Action-Script 2.0比ActionScript 3.0版本更容易學(xué)習(xí),但是ActionScript 2.0的代碼執(zhí)行速度要比ActionScript 3.0的速度慢,它適合于面向設(shè)計(jì)的、計(jì)算量不大的項(xiàng)目;ActionS-cript 2.0是基于ECMAScript規(guī)范,但又不完全遵從此規(guī)范。ActionScript 3.0最大的優(yōu)點(diǎn)是執(zhí)行速度較快。它支持面向?qū)ο?完全符合ECMAScript規(guī)范,提供了更出色的XML處理、一個(gè)改進(jìn)的時(shí)間模型及一個(gè)用于處理屏幕元素的改進(jìn)的體系結(jié)構(gòu)。
①動作(Actions):是指令一個(gè)動畫在播放時(shí)同時(shí)進(jìn)行某件或某些事情的一些語句。常用的動作有play(控制動畫的播放)和goto AndPlay(強(qiáng)制轉(zhuǎn)向并播放)等。
②事件(Events):Flash中用于觸發(fā)作用的事情被稱為事件。常用的觸發(fā)事件鼠標(biāo)移動、點(diǎn)擊鼠標(biāo)、鍵盤輸入等。
③數(shù)據(jù)類型(Datatypes):是用于說明數(shù)據(jù)的類型的一組符號。常用的數(shù)據(jù)類型有:int、string、uint等。
④類(Class):是一系列相互之間有關(guān)聯(lián)的數(shù)據(jù)的集合稱為類。用類定義對象。
⑤函數(shù)(Fuctions):與其他編程語言中的函數(shù)的定義相一致,用于傳遞參數(shù)、返回參數(shù)值等。
⑥表達(dá)式(Express):表達(dá)式是程序設(shè)計(jì)中的常用概念。一般的表達(dá)式都需要運(yùn)算符的參與,有相應(yīng)的返回值。
⑦實(shí)例(Instances):每個(gè)類都有很多的符合該類屬性和方法的實(shí)例。
⑧構(gòu)造器(Constructor):又叫構(gòu)造函數(shù),用于定義類的屬性和方法。
ActionScript有自己的語法規(guī)則,掌握ActionScript語言的語法是使ActionScript進(jìn)行編程的前提。如果使用不正確,就會產(chǎn)生錯(cuò)誤,不僅無法達(dá)到預(yù)想的目標(biāo),還會增加編程者的負(fù)擔(dān)。
ActionScript腳本語言像其他的編程語言一樣,涉及數(shù)據(jù)類型的定義、變量的命名和使用、運(yùn)算符、函數(shù)等眾多的概念。
①數(shù)據(jù)類型
數(shù)據(jù)類型是用于定義一組值的。ActionScript中常用的數(shù)據(jù)類型有Boolean、int、Number、Object、String、uint等。
②常量是指在程序的運(yùn)行過程中,值不會發(fā)生變化的量。
③變量的定義和作用域
變量是用來存儲程序中使用的值的,即值是可變化的量稱為變量。變量使用前要進(jìn)行聲明。聲明變量必須用var和變量名相結(jié)合使用,在ActionScript 2.0中只有在使用類型注釋時(shí)才需要使用var語句,但是在ActionScript 3. 0中則總是需要使用var語句。
變量的作用域是指變量的有效范圍或區(qū)域。變量根據(jù)其有效的作用范圍可以分為全局變量和局部變量。全局變量是指在代碼的所有區(qū)域中定義的變量;局部變量是指僅在代碼的某個(gè)部分定義的變量。相對來說,全局變量的作用范圍廣,局部變量的作用范圍小。
變量定義時(shí)如果沒有指定初值,則使用系統(tǒng)默認(rèn)值,如若變量在定義時(shí),沒有進(jìn)行初始化,則系統(tǒng)自動設(shè)為如下表1所示的默認(rèn)值。
表1 常見數(shù)據(jù)類型及默認(rèn)值
④運(yùn)算符
ActionScript與C語言一樣,也有運(yùn)算符,常用的運(yùn)算符有算術(shù)運(yùn)算符、條件運(yùn)算符、賦值運(yùn)算符等。運(yùn)算符的優(yōu)先級和結(jié)合律決定了處理運(yùn)算的方式和順序。
⑤函數(shù)、對象、類等的概念
ActionScript腳本語言中還涉及很多其他的概念,比如函數(shù)、對象、類等都是編程的總要概念。
①區(qū)分大小寫ActionScript是一種區(qū)分大小寫的編程語言,大小寫不同的標(biāo)識符系統(tǒng)會認(rèn)為是兩個(gè)不同的變量。在關(guān)鍵字的使用時(shí),則需嚴(yán)格遵循字母的大小寫規(guī)則,否則系統(tǒng)會提示出錯(cuò)。
②點(diǎn)語法點(diǎn)運(yùn)算符(.)提供對象的屬性和方法的訪問。也可用于指出一個(gè)對象的目標(biāo)路徑。使用點(diǎn)語法,可以使用后跟點(diǎn)運(yùn)算符和屬性名或方法名的實(shí)例名來引用類的屬性或方法。
③斜杠語法//ActionScript早期版本所支持的語法,一般用于指示影片剪輯或變量的路徑。ActionScript 3.0不支持此語法。在ActionScript中使用注釋語句,可以提高代碼的可讀性,幫助讀者了解代碼的含義。注釋語句對程序本身是沒有任何作用的。
④分號“;”在ActionScript中,分號是語句結(jié)束的標(biāo)志,但是即使省略了語句揭示標(biāo)志分號,Flash同樣可以對腳本進(jìn)行編譯,只是編譯器是假設(shè)每一行的代碼代表一條語句。通常建議編程時(shí)使用標(biāo)準(zhǔn)的分號結(jié)束語句,以提高程序的可讀性。
⑤小括號()在ActionScript中小括號使用在三種場合,一種是用在表達(dá)式中改變運(yùn)算順序,一種是和逗號運(yùn)算符一起計(jì)算表達(dá)式值,最后就是使用在函數(shù)中定義函數(shù)的相關(guān)參數(shù)。
⑥大括號{}可以對多個(gè)語句進(jìn)行組織,形成語句塊,大括號內(nèi)的是復(fù)合語句,由若干基本語句組成。
⑦關(guān)鍵字關(guān)鍵字是指保留給在ActionScript使用的具有特殊含義的字符,如if、break、loop等。關(guān)鍵字不可作為函數(shù)名、變量名或標(biāo)號名等使用。
制作一名稱為“星星閃爍”影片剪輯后,返回主場景。打開庫面板,選中“星星閃爍”的影片剪輯元件,單擊鼠標(biāo)右鍵,然后從彈出的對應(yīng)的快捷菜單中選擇“屬性”命令后,在打開的“元件屬性”對話框中點(diǎn)擊“高級”按鈕,在彈出的對話框設(shè)置類為star,基類為flash.display.MovieClip。
返回場景1,選擇第1幀,在打開的“動作—幀”面板中輸入腳本語言:
[1] 李玲玲,辛浩.Flash CS4二維動畫制作實(shí)訓(xùn)教程[M].天津:南開大學(xué)出版社,2011.
[2] 胡鵬.Flash CS4動畫與交互設(shè)計(jì)[M].大連:大連出版社,2012.
[3] 卓文.Flash動畫制作經(jīng)典實(shí)錄[M].北京:航空工業(yè)出版社,2010.
[4] 覃遠(yuǎn)霞,龍妍.Flash CS4實(shí)例教程[M].北京:清華大學(xué)出版社,2010.
[5] 孫傳慶,王秀麗.中文Flash CS4動畫設(shè)計(jì)操作教程[M].西安:西北工業(yè)大學(xué)出版社,2012.
[6] 劉小豫.Flash CS4動畫制作應(yīng)用教程[M].西安:西北工業(yè)大學(xué)出版社,2011.
責(zé)任編輯:何玉付
TP301.6
A
1671-8275(2014)05-0135-02
2014-09-20
本文系2013年安徽省高校優(yōu)秀青年人才基金重點(diǎn)項(xiàng)目“基于DataStream的實(shí)時(shí)網(wǎng)絡(luò)監(jiān)控系統(tǒng)設(shè)計(jì)”(編號:2013SQRL138ZD)的研究成果。
辛浩(1982-),男,安徽濉溪人,安徽淮北職業(yè)技術(shù)學(xué)院計(jì)算機(jī)系講師、工程師,碩士學(xué)位,研究方向?yàn)橛?jì)算機(jī)應(yīng)用技術(shù);李玲玲(1979-),女,安徽淮北人,安徽淮北職業(yè)技術(shù)學(xué)院計(jì)算機(jī)系講師、工程師,碩士學(xué)位,研究方向?yàn)橛?jì)算機(jī)應(yīng)用技術(shù)。