Flash動(dòng)作腳本(培訓(xùn)學(xué)習(xí))_第1頁(yè)
Flash動(dòng)作腳本(培訓(xùn)學(xué)習(xí))_第2頁(yè)
Flash動(dòng)作腳本(培訓(xùn)學(xué)習(xí))_第3頁(yè)
Flash動(dòng)作腳本(培訓(xùn)學(xué)習(xí))_第4頁(yè)
Flash動(dòng)作腳本(培訓(xùn)學(xué)習(xí))_第5頁(yè)
已閱讀5頁(yè),還剩74頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第五章 Flash動(dòng)作腳本,1,學(xué)習(xí)培訓(xùn),主要內(nèi)容,2,Action Script 3.0概述,要點(diǎn)導(dǎo)讀 1. ActionScript的概念 2. ActionScript 3.0的語(yǔ)法規(guī)則 3. ActionScript 3.0與2.0區(qū)別,3,Action Script 3.0概述,ActionScript是Flash的腳本語(yǔ)言,與JavaScript在網(wǎng)頁(yè)制作中起得作用相似,它在Flash內(nèi)容和應(yīng)用程序中實(shí)現(xiàn)交互性、數(shù)據(jù)處理以及其他功能。新出的ActionScript 3.0使用面對(duì)對(duì)象編程,增加更強(qiáng)的報(bào)錯(cuò)能力,指定類(lèi)型也更明確。ActionScript 3.0由Flash Playe

2、r中的ActionScript虛擬機(jī)(AVM2)來(lái)執(zhí)行的,它的代碼通常被編譯器編譯成“字節(jié)碼格式”(一種由計(jì)算機(jī)編寫(xiě)且能夠?yàn)橛?jì)算機(jī)所理解的編程語(yǔ)言),隨后字節(jié)碼被嵌入到SWF文件中,SWF文件由運(yùn)行時(shí)環(huán)境Flash Player執(zhí)行,4,面向?qū)ο?類(lèi)與對(duì)象,5,Action Script 3.0概述,Action Script 3.0語(yǔ)法規(guī)則 在ActionScript 3.0中,一個(gè)變量實(shí)際上包含三個(gè)不同部分:變量名,可以存儲(chǔ)在變量中的數(shù)據(jù)類(lèi)型,存儲(chǔ)在計(jì)算機(jī)內(nèi)存中的實(shí)際值。 對(duì)變量來(lái)說(shuō),數(shù)據(jù)類(lèi)型也非常重要。在ActionScript 3.0中創(chuàng)建變量時(shí),應(yīng)指定該變量將保存的數(shù)據(jù)類(lèi)型;此后,程

3、序只能在該變量中存儲(chǔ)此類(lèi)型的數(shù)據(jù), 可以使用與該變量的數(shù)據(jù)類(lèi)型關(guān)聯(lián)的特定特性來(lái)處理值。 在ActionScript中,要?jiǎng)?chuàng)建一個(gè)變量或聲明變量,應(yīng)使用var語(yǔ)句:“var value1:Number;”。在本例中,指示計(jì)算機(jī)創(chuàng)建一個(gè)名為value 的變量,該變量?jī)H存儲(chǔ)Number(數(shù)值)的數(shù)據(jù)。用戶(hù)還可以立即在變量中存儲(chǔ)一個(gè)值:“var value2:Number = 17;,6,Action Script 3.0概述,Action Script 3.0語(yǔ)法規(guī)則 在ActionScript中,有很多數(shù)據(jù)類(lèi)型可以用作變量的數(shù)據(jù)類(lèi)型。其中,基本數(shù)據(jù)類(lèi)型有: String:一個(gè)文本值,例如,一個(gè)名稱(chēng)

4、或書(shū)中某一章的文字; Number:任何數(shù)值,包括有小數(shù)部分或沒(méi)有小數(shù)部分的值; Int:一個(gè)整數(shù)(不帶小數(shù)部分的整數(shù)); Uint:一個(gè)“無(wú)符號(hào)”整數(shù),即不能為負(fù)數(shù)的整數(shù); Boolean:一個(gè)true或false值,例如開(kāi)關(guān)是否開(kāi)啟或兩個(gè)值是否相等,7,Action Script 3.0概述,Action Script 3.0語(yǔ)法規(guī)則 ActionScript是一種面向?qū)ο蟮木幊陶Z(yǔ)言。對(duì)象是ActionScript中一個(gè)非常重要的概念。事實(shí)上,如果用戶(hù)在Flash中處理過(guò)元件,那么用戶(hù)已經(jīng)處理過(guò)對(duì)象了。假設(shè)用戶(hù)已定義了一個(gè)影片剪輯元件(一幅圓的圖畫(huà)),并且將它的一個(gè)副本放在舞臺(tái)上。從嚴(yán)格意

5、義上來(lái)說(shuō),該影片剪輯元件也是ActionScript中的一個(gè)對(duì)象,即MovieClip類(lèi)的一個(gè)實(shí)例。 用戶(hù)可以修改該影片剪輯的不同特征。例如,當(dāng)選中該影片剪輯時(shí),用戶(hù)可以在“屬性”檢查器中更改許多值,例如,它的x坐標(biāo)、寬度,進(jìn)行各種顏色調(diào)整(例如,更改它的alpha透明度),或?qū)λ鼞?yīng)用各種濾鏡。還可以使用其它Flash工具進(jìn)行更多更改,例如,使用“任意變形”工具旋轉(zhuǎn)該對(duì)象。在Flash創(chuàng)作環(huán)境中修改一個(gè)影片剪輯元件時(shí)所做的更改,同樣可在ActionScript中通過(guò)代碼來(lái)實(shí)現(xiàn),8,Action Script 3.0概述,Action Script 3.0語(yǔ)法規(guī)則 “運(yùn)算符”是用于執(zhí)行計(jì)算的特殊

6、符號(hào)。運(yùn)算符主要用于數(shù)學(xué)運(yùn)算,也可以用于值的比較。通常,運(yùn)算符使用一個(gè)或多個(gè)值并“算出”一個(gè)結(jié)果。例如: 加法運(yùn)算符(+)將兩個(gè)值相加,結(jié)果是一個(gè)數(shù)字:var sum:Number=43+62; 乘法運(yùn)算符(*)將一個(gè)值與另一個(gè)值相乘,結(jié)果是一個(gè)數(shù)字:var result:Number = 5 *6 *7; 等于運(yùn)算符 (=) 比較兩個(gè)值,看它們是否相等,9,Action Script 3.0概述,Action Script 3.0語(yǔ)法規(guī)則 在編寫(xiě)ActionScript時(shí),用戶(hù)通常會(huì)希望給自己留一些注釋?zhuān)@些注釋可能解釋某些代碼行如何工作或者為什么做出特定的選擇?!按a注釋”是一個(gè)工具,用于

7、編寫(xiě)計(jì)算機(jī)應(yīng)在代碼中忽略的文本。 ActionScript包括兩種注釋。單行注釋?zhuān)涸谝恍兄械娜我馕恢梅胖脙蓚€(gè)斜杠來(lái)指定單行注釋。計(jì)算機(jī)將忽略斜杠后直到該行末尾的所有內(nèi)容。 var johnieAge:Number =10;/ 默認(rèn)情況下,將johnieAge設(shè)置為10。 多行注釋?zhuān)憾嘈凶⑨尠ㄒ粋€(gè)開(kāi)始注釋標(biāo)記(/*)、注釋內(nèi)容和一個(gè)結(jié)束注釋標(biāo)記(*/)。無(wú)論注釋跨越多少行,計(jì)算機(jī)都將忽略開(kāi)始標(biāo)記與結(jié)束標(biāo)記之間的所有內(nèi)容。 注釋的另一種常見(jiàn)用法是臨時(shí)禁用一行或多行代碼。例如,如果用戶(hù)要測(cè)試執(zhí)行某操作的其它方法,或要查明為什么某些ActionScript代碼沒(méi)有按用戶(hù)期望的方式工作,10,實(shí)例操作

8、(建立一個(gè)對(duì)象) var person:Object=new Object(); person.sex=female; person.age=21; person.birthday=new Date(1970,0,1); trace(person.sex,11,簡(jiǎn)單運(yùn)算 var num1:int=2; var num2:int=3; var sum=num1+num2; trace(sum,12,Action Script 3.0概述,ActionScript 3.0與2.0區(qū)別 本書(shū)中主要講解ActionScript 3.0,可能有部分同學(xué)已經(jīng)有2.0基礎(chǔ),同時(shí)網(wǎng)絡(luò)上也有大量的基于2.0的F

9、lash動(dòng)畫(huà),應(yīng)此有必要在此將ActionScript 3.0和2.0進(jìn)行一番比較,以使大家對(duì)2.0亦有一些了解。 1、類(lèi)劃分的更明確。在2.0時(shí)代,無(wú)論是加載外部圖像、動(dòng)畫(huà)和繪圖,都可以使用MovieClip,然而引用的大量的MovieClip,卻只使用了其中部分功能,造成性能的浪費(fèi)。而在3.0中,把這些功能分開(kāi),例如通過(guò)Loader對(duì)象來(lái)加載外部的jpg、gng或SWF文件;通過(guò)MovieClip對(duì)象的graphfics屬性moveTo方法來(lái)繪制圖形。 2、統(tǒng)一事件。2.0中可以使用on、addListener、addEventListener等寫(xiě)法來(lái)賦予對(duì)象各種事件,執(zhí)行方法的多樣,很容

10、易讓人迷糊。3.0則全部使用addEventListener()函數(shù)來(lái)偵聽(tīng)特地發(fā)送者發(fā)出的事件,13,Action Script 3.0概述,ActionScript 3.0與2.0區(qū)別 3、內(nèi)存工作方式更有效率。2.0的顯示對(duì)象,例如MovieClip、Button、文字、色塊、位圖等等,一旦被實(shí)例化后,就會(huì)立即出現(xiàn)在Flash的舞臺(tái)中。而3.0的顯示對(duì)象被實(shí)例化后,不會(huì)馬上出現(xiàn),而是等到需要的時(shí)候,通過(guò)addChild()或DisplayObjectContainer加入,這樣可以減少內(nèi)存資源的消耗,使動(dòng)畫(huà)運(yùn)行的更流暢。 4、強(qiáng)制性聲明變量。2.0可以不使用關(guān)鍵詞聲明,直接使用變量,語(yǔ)法的

11、規(guī)范性不強(qiáng)。而3.0一定要通過(guò)關(guān)鍵詞var聲明變量,同時(shí)還引入了const來(lái)聲明常量。常量一般用來(lái)存儲(chǔ)某一固定值,例如圓周率3.14等。 ActionScript 3.0與2.0還有一些區(qū)別,例如3.0對(duì)象屬性統(tǒng)一取消下劃線(xiàn),代碼只能寫(xiě)在時(shí)間軸上或外部定義的類(lèi).as文件,這里就不再詳述了,大家在以后的學(xué)習(xí)時(shí)深入體會(huì)吧,14,認(rèn)識(shí)動(dòng)作面板,要點(diǎn)導(dǎo)讀 在本節(jié)中,同學(xué)們將會(huì)學(xué)習(xí)如下的知識(shí)。 1. 如何調(diào)出“動(dòng)作”面板(F9以及相應(yīng)的快捷鍵)CTRL+ENTER,CTRL+Z,CTRL+L,shift,alt,Enter,ESC 2. “動(dòng)作”面板的使用,15,認(rèn)識(shí)動(dòng)作面板,16,認(rèn)識(shí)動(dòng)作面板,左側(cè)的

12、上方是一個(gè)動(dòng)作工具箱,單擊前面的圖標(biāo)展開(kāi)每一個(gè)條目,可以顯示出對(duì)應(yīng)條目下的動(dòng)作腳本語(yǔ)句元素,雙擊選中的語(yǔ)句即可將其添加到編輯窗口。 左下方是一個(gè)腳本導(dǎo)航器。里面列出了FLA文件中具有關(guān)聯(lián)動(dòng)作腳本的幀位置和對(duì)象;單擊腳本導(dǎo)航器中的某一項(xiàng)目,與該項(xiàng)目相關(guān)聯(lián)的腳本則會(huì)出現(xiàn)在腳本窗口中,并且場(chǎng)景上的播放頭也將移到時(shí)間軸上的對(duì)應(yīng)位置上。雙擊腳本導(dǎo)航器中的某一項(xiàng),則該腳本會(huì)被固定。 右側(cè)部分是腳本編輯窗口,這是添加代碼的區(qū)域??梢灾苯釉谀_本窗口中編輯動(dòng)作、輸入動(dòng)作參數(shù)或刪除動(dòng)作。也可以雙擊動(dòng)作工具箱中的某一項(xiàng)或腳本編輯窗口上方的“添加腳本”工具,向腳本窗口添加動(dòng)作,17,認(rèn)識(shí)動(dòng)作面板,18,給Flash文

13、件添加動(dòng)作腳本,要點(diǎn)導(dǎo)讀 在本節(jié)中,同學(xué)們將會(huì)學(xué)習(xí)如下的知識(shí)。 1. 在主場(chǎng)景關(guān)鍵幀中使用ActionScript代碼控制動(dòng)畫(huà)播放 2. 引用外部ActionScript文件,19,給Flash文件添加動(dòng)作腳本,在ActionScript2.0時(shí)代,F(xiàn)lash中添加動(dòng)作腳本可以分為兩種方式 一是為“關(guān)鍵幀”添加動(dòng)作腳本 二是向關(guān)鍵幀中的“對(duì)象”添加動(dòng)作腳本,即在“按鈕”元件和“影片剪輯”元件實(shí)例上添加動(dòng)作腳本,“圖形”元件上是不能添加動(dòng)作腳本的。 在3.0中,動(dòng)作腳本只能放在時(shí)間軸的關(guān)鍵幀或外部的as文件中,這里的時(shí)間軸可以是場(chǎng)景的時(shí)間軸,也可以是影片剪輯的時(shí)間軸,然而不能像在2.0中一樣,直

14、接給對(duì)象(例如按鈕)添加動(dòng)作腳本,這是需要注意的,20,給Flash文件添加動(dòng)作腳本,在ActionScript面向?qū)ο蟮木幊讨?,任何?lèi)(數(shù)據(jù)類(lèi)型)都可以包含3種特性:屬性,方法和事件。 一、屬性:表示某個(gè)對(duì)象的特性,包括高度寬度,透明度等。 二、方法:是指可以由對(duì)象執(zhí)行的動(dòng)作或操作。包括play(),stop(),gotoAndStop()和gotoAndPlay()。格式為:對(duì)象名(變量)、句點(diǎn)、方法名和小括號(hào) 對(duì)象名.方法名(參數(shù)); 三、事件:事件源、事件和響應(yīng),21,給Flash文件添加動(dòng)作腳本,方法: 播放:play,如:this.Film.play(); 停止:stop,如:th

15、is.Film.play(); 停止全部聲音: SoundMixer.stopAll(); 跳轉(zhuǎn)且播放: gotoAndPlay(); 如: gotoAndPlay(55); 或gotoAndPlay(“zzw”); 或gotoAndPlay(1,場(chǎng)景 2,22,給Flash文件添加動(dòng)作腳本,跳轉(zhuǎn)且停止: gotoAndStop(); 如: gotoAndStop(100); 或gotoAndStop(“zzw”); 或gotoAndStop(99,場(chǎng)景 3,23,給Flash文件添加動(dòng)作腳本,寫(xiě)動(dòng)作腳本時(shí)注意事項(xiàng): 1.腳本語(yǔ)言區(qū)分大小寫(xiě)。 如:gotoAndPlay(55)不能寫(xiě)成goto

16、andplay(55) 2.AS3.0里只能將動(dòng)作腳本的代碼寫(xiě)在時(shí)間軸的關(guān)鍵幀或者外部as中,這里的時(shí)間軸可以是場(chǎng)景的時(shí)間軸,也可以是影片剪輯的時(shí)間軸。 3.AS里的小括號(hào)()用于定義函數(shù)或者動(dòng)作的參數(shù),不用參數(shù)的動(dòng)作也不能省略(),如:stop()。 4.保留字“this”代指主場(chǎng)景的時(shí)間軸,主時(shí)間軸上的腳本可以省略,但不建議省略。 如:this.Film.play()也可以寫(xiě)成Film.play() 5.在AS中,任何一條語(yǔ)句都以英文狀態(tài)下的分號(hào)“;”作為結(jié)束的標(biāo)志。雖然有時(shí)省略了“;”號(hào),F(xiàn)lash也可以成功的編譯這個(gè)腳本,但這是不規(guī)范的,24,給Flash文件添加動(dòng)作腳本,三、事件:事

17、件是確定計(jì)算機(jī)執(zhí)行哪些指令以及何時(shí)執(zhí)行的機(jī)制,它是交互性的基礎(chǔ)。 事件源、事件和響應(yīng)。 事件源:即事件目標(biāo),指發(fā)生該事件的是哪個(gè)對(duì)象。例如:場(chǎng)景中的那個(gè)按鈕或者影片剪輯被單擊,鼠標(biāo)經(jīng)過(guò)和離開(kāi)等等。在腳本中具體表現(xiàn)為定義一個(gè)eventSource。 事件:指將要發(fā)生什么事情。在腳本中具體表現(xiàn)為定義一個(gè)EventType和EVENT_NAME。 響應(yīng):即當(dāng)事件發(fā)生時(shí),用戶(hù)希望執(zhí)行哪些步驟。在腳本中具體表現(xiàn)為play,stop,gotoAndPlay等等,25,給Flash文件添加動(dòng)作腳本,用function定義函數(shù) : function 函數(shù)名(參數(shù)列表):數(shù)據(jù)類(lèi)型 /代碼塊 其中:函數(shù)名用來(lái)說(shuō)明

18、函數(shù)的功能 函數(shù)根據(jù)需要可以向函數(shù)中傳遞外部的變量即參數(shù),如果不需要傳遞參數(shù),則不需要加入?yún)?shù),這樣的函數(shù)叫無(wú)參函數(shù)。如果函數(shù)需要傳遞參數(shù),這樣的函數(shù)叫有參函數(shù)。 函數(shù)中的代碼塊可以返回一些數(shù)據(jù),數(shù)據(jù)可以是簡(jiǎn)單數(shù)據(jù)類(lèi)型,也可以是復(fù)雜數(shù)據(jù)類(lèi)型。數(shù)據(jù)類(lèi)型表示函數(shù)返回的數(shù)據(jù)類(lèi)型,當(dāng)不需要返回?cái)?shù)據(jù)時(shí),數(shù)據(jù)類(lèi)型應(yīng)標(biāo)識(shí)為void,意思為沒(méi)有返回值,26,給Flash文件添加動(dòng)作腳本,為事件源(一般為按鈕或者影片剪輯)添加一個(gè)事件偵聽(tīng)器方法: eventSource.addEventListener(EventType.EVENT_NAME,eventResponse); 定義當(dāng)事件監(jiān)聽(tīng)器被用戶(hù)行為觸發(fā)時(shí),

19、所調(diào)用的函數(shù): function eventResponse(eventObject:EventType):void /此處是為響應(yīng)事件而執(zhí)行的動(dòng)作,27,給Flash文件添加動(dòng)作腳本,以5-1的腳本P127的腳本為例: play1.addEventListener(MouseEvent.CLICK,onClick); 對(duì)象名.方法名(參數(shù)); 按鈕的實(shí)例名稱(chēng).增加事件偵聽(tīng)器(事件類(lèi)型.事件名,函數(shù)名,28,給Flash文件添加動(dòng)作腳本,function onClick(e:MouseEvent):void this.gotoAndPlay(2); 定義一個(gè)函數(shù).函數(shù)名(參數(shù)e或event:數(shù)

20、據(jù)類(lèi)型):沒(méi)有返回值 對(duì)象名.方法名(參數(shù));,29,給Flash文件添加動(dòng)作腳本,在Flash CS4中,用戶(hù)可以向時(shí)間軸中的任何關(guān)鍵幀添加ActionScript代碼,該段代碼將在動(dòng)畫(huà)播放至該幀時(shí)執(zhí)行。 這里的時(shí)間軸可以是主場(chǎng)景的時(shí)間軸,也可以是MovieClip 元件的時(shí)間軸。 但是,這種靈活性的代價(jià)是在構(gòu)建較大的應(yīng)用程序時(shí),容易導(dǎo)致無(wú)法跟蹤哪些幀包含哪些腳本,應(yīng)用程序的維護(hù)性差。 解決的辦法是將代碼僅僅放在時(shí)間軸的第1幀中,或放在Flash文檔中的特定圖層上,這樣可以較為容易地在Flash文件中查找和維護(hù)代碼,30,給Flash文件添加動(dòng)作腳本,實(shí)例講解: 本節(jié)將學(xué)習(xí)在關(guān)鍵幀上添加st

21、op()、gotoAndplay()動(dòng)作,來(lái)控制影片的播放。其中:stop()的作用是停止動(dòng)畫(huà)播放;gotoAndplay()的作用是通知播放頭跳轉(zhuǎn)到某一幀并在該幀停止,具體效果可以打開(kāi)資源光盤(pán)中的“本書(shū)范例第5章完成文件5-15-1完成.fla”觀看。 實(shí)例5-1是在關(guān)鍵幀中添加動(dòng)作腳本stop()、gotoAndplay()以控制影片播放的。按常規(guī),動(dòng)畫(huà)的播放是隨著時(shí)間軸上播放頭的移動(dòng)而順序循環(huán)播放的,這個(gè)動(dòng)畫(huà)上面有一只向前走路的企鵝,在動(dòng)畫(huà)播放時(shí),如果沒(méi)有遇到停止的指令,就會(huì)不停的向前邁步,31,給Flash文件添加動(dòng)作腳本,實(shí)例講解: 打開(kāi)源文件可以發(fā)現(xiàn),這個(gè)動(dòng)畫(huà)中,在時(shí)間軸上的第1幀

22、添加了stop()動(dòng)作,所以當(dāng)動(dòng)畫(huà)在初始播放時(shí)會(huì)按照幀動(dòng)作的指令自動(dòng)停止下來(lái)。第16幀上添加了gotoAndplay(2)動(dòng)作,當(dāng)動(dòng)畫(huà)播放到第16幀時(shí),即會(huì)按照該幀上的語(yǔ)句指令,跳轉(zhuǎn)到第2幀并開(kāi)始重新播放。 由于本案例在第一幀添加了stop()命令,沒(méi)有其他控制的話(huà),企鵝將無(wú)法走動(dòng),因此實(shí)例設(shè)置了play按鈕。當(dāng)用戶(hù)單擊該按鈕時(shí)就可以使實(shí)例開(kāi)始播放,這就是動(dòng)畫(huà)中簡(jiǎn)單的交互。如何利用按鈕來(lái)實(shí)現(xiàn)人為地對(duì)動(dòng)畫(huà)進(jìn)行播放控制,關(guān)于按鈕的內(nèi)容將在5.4節(jié)中學(xué)習(xí),同學(xué)們也可以提前翻閱該節(jié),學(xué)習(xí)如何制作按鈕,進(jìn)行按鈕控制,32,給Flash文件添加動(dòng)作腳本,步驟詳解: 步驟1:打開(kāi)資源光盤(pán)中的“本書(shū)范例第5章

23、原始素材5-1原始.fla”,該文件導(dǎo)入了“gif圖片素材”文件夾中的圖片進(jìn)入舞臺(tái),F(xiàn)lash自動(dòng)將gif圖片分解成獨(dú)立圖片至主場(chǎng)景的時(shí)間軸。 步驟2:?jiǎn)螕魣D層1的第一幀,按“F9”調(diào)出“動(dòng)作-幀”面板,在腳本輸入窗口輸入stop();,33,給Flash文件添加動(dòng)作腳本,步驟詳解: 步驟3:參照步驟2,在圖層1的第16幀,輸入“this.gotoAndPlay(2);”,實(shí)現(xiàn)企鵝走路的循環(huán)播放。 步驟4:為實(shí)現(xiàn)play按鈕,制作名為“play”的按鈕元件。關(guān)于按鈕的此操作將在5.4節(jié)詳細(xì)講述,這里不再贅述。 步驟5:新建圖層2,在圖層2的第一幀實(shí)例化“play”按鈕,名為play1,34,給

24、Flash文件添加動(dòng)作腳本,步驟詳解: 步驟6:在圖層1的第一幀的“動(dòng)作-幀”面板中,輸入 play1.addEventListener(MouseEvent.CLICK,onClick); /定義play1(即按鈕)的偵聽(tīng)事件,偵聽(tīng)鼠標(biāo)的Click(單擊)事件,一旦觸發(fā),執(zhí)行onClick函數(shù) function onClick(e:MouseEvent):void this.gotoAndPlay(2); /定義onClick函數(shù),實(shí)現(xiàn)跳轉(zhuǎn)到時(shí)間軸的第2幀播放,35,給Flash文件添加動(dòng)作腳本,技術(shù)點(diǎn)睛: 1、小括號(hào)“()” 在AS中,這個(gè)小括號(hào)()的作用之一是用來(lái)在其中定義函數(shù)或者動(dòng)作的

25、參數(shù),如本節(jié)實(shí)例中用到的gotoAndplay(2),也有不用參數(shù)的動(dòng)作,如第一幀用到的stop()。 2、分號(hào)“;”: 在AS中,分號(hào);是用來(lái)作為語(yǔ)句結(jié)束的標(biāo)記,在Flash命令腳本中,任何一條語(yǔ)句都是以;號(hào)結(jié)束的。雖然有時(shí)省略了;號(hào),F(xiàn)lash也可以成功的編譯這個(gè)腳本,但這是不規(guī)范的。 3、保留字“this”:主要代指主場(chǎng)景的時(shí)間軸,類(lèi)似功能的保留字還有root。它在多對(duì)象或者路徑嵌套控制時(shí)特別有用,36,使用動(dòng)作腳本控制“影片剪輯,要點(diǎn)導(dǎo)讀 在本節(jié)中,同學(xué)們將會(huì)學(xué)習(xí)如下的知識(shí)。 1. 建立影片剪輯 2. 應(yīng)用影片剪輯的鼠標(biāo)事件控制動(dòng)畫(huà)播放,37,使用動(dòng)作腳本控制“影片剪輯,案例解析 打開(kāi)

26、資源光盤(pán)中的“本書(shū)范例第5章完成文件5-35-3完成.fla”。實(shí)例5-3主要練習(xí)的是為“影片剪輯”添加鼠標(biāo)事件,如圖5-7所示。 畫(huà)面上,共有3只可愛(ài)的企鵝處于靜止?fàn)顟B(tài);當(dāng) 對(duì)第一只企鵝進(jìn)行單擊時(shí),該企鵝開(kāi)始在不知疲倦的向前邁步;當(dāng)將鼠標(biāo)移動(dòng)到第二只鼠標(biāo)上,不進(jìn)行任何操作,該企鵝也開(kāi)始動(dòng)起來(lái),同時(shí),鼠標(biāo)移動(dòng)到別處時(shí),企鵝也不停止;第三只企鵝與第二只企鵝不同的是,當(dāng)鼠標(biāo)離開(kāi)企鵝時(shí)企鵝停止移動(dòng),38,使用動(dòng)作腳本控制“影片剪輯,39,使用動(dòng)作腳本控制“影片剪輯,步驟詳解: 步驟1:?jiǎn)?dòng)Flash CS4,選擇“創(chuàng)建新項(xiàng)目”的“Flash文件(ActionScript 3.0)”選項(xiàng),創(chuàng)建一個(gè)新文

27、檔,命名為“5-3”。 步驟2:執(zhí)行“插入”“新建元件”命令,新建一個(gè)名為“Penguin”的影片剪輯元件。 步驟3:在“Penguin”影片剪輯的編輯窗口,將“本書(shū)范例第5章原始素材gif圖片素材企鵝走路.gif”導(dǎo)入到舞臺(tái)。至此,“Penguin”影片剪輯元件制作完成。 步驟4:回到主場(chǎng)景,在第一幀實(shí)例化“Penguin”影片剪輯3次(即分別從庫(kù)中拖動(dòng)“Penguin”到舞臺(tái)3次),分別在屬性面板命名為“Penguin1”、“Penguin2”、“Penguin3”,放到舞臺(tái)合適位置,40,使用動(dòng)作腳本控制“影片剪輯,步驟詳解: 步驟5:?jiǎn)螕魣D層1的第一幀,按“F9”鍵打開(kāi)動(dòng)作面板,輸入代

28、碼,41,使用動(dòng)作腳本控制“影片剪輯,技術(shù)點(diǎn)睛: 1、影片剪輯制作動(dòng)畫(huà)的優(yōu)點(diǎn):它將相同的操作和素材整合到一起,可以減少重復(fù)勞動(dòng),提高重用性,運(yùn)行過(guò)程中也減少了對(duì)內(nèi)存的消耗;同時(shí),它還可以起到簡(jiǎn)化主場(chǎng)景時(shí)間軸的作用。 2、注釋?zhuān)簽檎Z(yǔ)句添加注釋也是增加代碼可讀性的一個(gè)好習(xí)慣,這樣不僅有利于別人解讀代碼,也有利于自己對(duì)代碼進(jìn)行分析和記憶。注釋的格式是用雙斜線(xiàn)/開(kāi)頭,后面書(shū)寫(xiě)文字,可以放在語(yǔ)句的后面、上面或者下面,42,使用動(dòng)作腳本控制“影片剪輯,技術(shù)點(diǎn)睛: 3、語(yǔ)法著色:Flash AS的集成開(kāi)發(fā)環(huán)境中具有語(yǔ)法著色的功能,即在程序中,F(xiàn)lash會(huì)將關(guān)鍵字、標(biāo)識(shí)符、注釋文本、字符串用不同的顏色來(lái)分別顯

29、示。默認(rèn)情況下,關(guān)鍵字顯示為深藍(lán)色,如play ()等等,標(biāo)識(shí)符顯示為黑色,如Penguin1,、字符串顯示為天藍(lán)色,注釋文本顯示為灰色。可以利用語(yǔ)法著色來(lái)閱讀代碼和發(fā)現(xiàn)錯(cuò)誤。 4、鼠標(biāo)事件: 可以通過(guò)探測(cè)用戶(hù)鼠標(biāo)的操作來(lái)控制對(duì)象的變化。本例中應(yīng)用了Click事件、MOUSE_OVER和MOUSE_OUT事件來(lái)控制影片剪輯的播放與停止,除此之外還有很多, 可以通過(guò)動(dòng)作面板的語(yǔ)法提示觀察到對(duì)象所擁有的鼠標(biāo)事件。預(yù)想了解所有的鼠標(biāo)事件,可參考http:/,43,使用動(dòng)作腳本控制“影片剪輯,技術(shù)點(diǎn)睛: 5、函數(shù):一般與鼠標(biāo)事件聯(lián)合在一起使用,對(duì)象如何變化,需要通過(guò)函數(shù)里面的代碼來(lái)實(shí)現(xiàn)。函數(shù)的知識(shí),在

30、5.1節(jié)AS語(yǔ)法規(guī)則里面已經(jīng)介紹了,此處就不再贅述,44,影片剪輯的屬性調(diào)整與路徑,要點(diǎn)導(dǎo)讀 在本節(jié)中,同學(xué)們將會(huì)學(xué)習(xí)如下的知識(shí)。 1. 利用按鈕改變影片剪輯的屬性 2. 了解影片剪輯的路徑,45,影片剪輯的屬性調(diào)整與路徑,案例解析 屬性概念是生活中隨處可見(jiàn)的,各種物體都有自己的屬性,比如食用水,它的自然屬性是透明、無(wú)色、無(wú)味的液體,這些屬性通過(guò)一些加工手段是可以改變的,加入調(diào)色劑可以使它的透明度和色澤發(fā)生變化,加入調(diào)味劑可以改變它的味道,放入冰箱冷凍可以讓它凝固成冰塊。 在Flash中,影片剪輯對(duì)象也有自身的許多屬性,rotation(旋轉(zhuǎn))、x(軸)、y(軸)、visible(是否顯示)、

31、height(高度)、width(寬度)、scaleX(比例)和alpha(透明度)等屬性,運(yùn)用動(dòng)作腳本語(yǔ)句可以對(duì)其屬性進(jìn)行修改調(diào)整,46,影片剪輯的屬性調(diào)整與路徑,屬性解析 與屬性相關(guān)的一個(gè)重要概念就是路徑,只有正確指定控制對(duì)象的路徑,才能設(shè)置成功它們的屬性。路徑可以分為絕對(duì)路徑和相對(duì)路徑,它們之間的區(qū)別是到達(dá)目標(biāo)對(duì)象的出發(fā)點(diǎn)不同,絕對(duì)路徑是以當(dāng)前主場(chǎng)景(即根時(shí)間軸)為出發(fā)點(diǎn),以目標(biāo)對(duì)象為結(jié)束點(diǎn);而相對(duì)路徑則是從發(fā)出指令的對(duì)象所在的時(shí)間軸為出發(fā)點(diǎn),以目標(biāo)對(duì)象為結(jié)束點(diǎn)。 一般來(lái)說(shuō),在進(jìn)行按鈕控制時(shí),主場(chǎng)景上的按鈕都是通過(guò)由外向內(nèi)通過(guò)絕對(duì)路徑的方式分別控制各個(gè)級(jí)別影片剪輯對(duì)象的屬性,而嵌套在影片

32、剪輯內(nèi)部的按鈕則是由內(nèi)向外通過(guò)相對(duì)路徑的方式控制各級(jí)父級(jí)影片剪輯的屬性,47,影片剪輯的屬性調(diào)整與路徑,實(shí)例講解: 打開(kāi)資源光盤(pán)中的“本書(shū)范例第5章完成文件5-4完成.fla”觀看。 先分析畫(huà)面層次結(jié)構(gòu):在主場(chǎng)景中,第一排有兩個(gè)對(duì)象,分別是實(shí)例名為“Penguin1”和“qiantao”的影片剪輯;下面放著四個(gè)按鈕,分別是“放大”(實(shí)例名為“scaleXadd”)、“縮小”(實(shí)例名為“scaleXcut”)、“透明”(實(shí)例名為“alphaCut”)、“清晰”(實(shí)例名為“alphaAdd”)。把鼠標(biāo)分別移到各個(gè)按鈕上,可以顯示按鈕上設(shè)置的動(dòng)作,點(diǎn)擊可以控制影片剪輯的相應(yīng)屬性,48,影片剪輯的屬性

33、調(diào)整與路徑,49,影片剪輯的屬性調(diào)整與路徑,步驟詳解: 步驟1、2、3:與實(shí)例5-3類(lèi)似,新建文件5-4.fla,建立名為“Penguin”企鵝影片剪輯,并導(dǎo)入GIF企鵝圖片到“Penguin”影片剪輯舞臺(tái)。 步驟4:回到主場(chǎng)景,插入影片剪輯“MovieClipQianTao”,在其舞臺(tái)導(dǎo)入“本書(shū)范例第5章原始素材gif圖片素材我要學(xué)習(xí)了.GIF”;同時(shí)在該影片剪輯元件編輯畫(huà)面中新建“圖層2”,在該層第1幀實(shí)例化“Penguin”影片剪輯,將其命名為“Penguin2”,效果如圖所示,50,影片剪輯的屬性調(diào)整與路徑,步驟詳解,51,影片剪輯的屬性調(diào)整與路徑,步驟詳解 步驟5:制作控制按鈕。在主

34、場(chǎng)景中分別插入四個(gè)按鈕元件,將其命名為放大、縮小、透明、清晰;以放大按鈕為例,在彈起幀利用文本工具輸入放大,指針經(jīng)過(guò)、按下、點(diǎn)擊各幀插入關(guān)鍵幀,即可。 步驟6:在主場(chǎng)景第一幀實(shí)例化“Penguin”和“MovieClipQianTao”影片剪輯,分別命名為“Penguin1”和“qiantao,52,影片剪輯的屬性調(diào)整與路徑,步驟詳解 步驟7:實(shí)例化“放大”、“縮小”、“透明”、“清晰”四個(gè)按鈕,分別命名為“scaleXadd”、“scaleXcut”、“alphaCut”、“alphaAdd”;其中,“scaleXadd”、“scaleXcut”控制的是實(shí)例“Penguin1”的比例大小屬性

35、,“alphaCut”、“alphaAdd”控制的是實(shí)例“qiantao”中的嵌套影片剪輯元件實(shí)例“Penguin2”的透明度屬性。 步驟8:?jiǎn)螕魣D層1的第一幀,按“F9”鍵顯示動(dòng)作面板,輸入如下圖所示代碼,53,影片剪輯的屬性調(diào)整與路徑,54,影片剪輯的屬性調(diào)整與路徑,技術(shù)點(diǎn)睛 1、影片剪輯的屬性。本案例中講解了影片剪輯的縮放比例和透明度兩種屬性控制,scaleX控制影片剪輯的橫向縮放比例,scaleY控制影片剪輯的縱向縮放比例,alpha控制透明度屬性,以百分比為單位,默認(rèn)值都是100%。X控制影片剪輯的橫坐標(biāo)屬性,Y控制影片剪輯的縱坐標(biāo),單位為像素。除此之外,影片剪輯還有很多屬性,書(shū)中就

36、不一一列舉了,同學(xué)們可以點(diǎn)擊“腳本助手”或“幫助”查詢(xún),55,影片剪輯的屬性調(diào)整與路徑,技術(shù)點(diǎn)睛 2、路徑。路徑的概念非常重要,在添加動(dòng)作時(shí),如果路徑的指向不正確,就實(shí)現(xiàn)不了預(yù)期的效果,甚至?xí)鸪绦虺鲥e(cuò)。在AC2.0中,可以使用_parent、_root和this來(lái)表示主場(chǎng)景路徑。在AC3.0中,推薦使用this來(lái)定位主場(chǎng)景目錄,本書(shū)也推薦使用這種表達(dá)方法。 在5-4程序塊的第一段和第二段中,“this.Penguin1.scaleX”指主場(chǎng)景影片剪輯元件實(shí)例“Penguin1”的縮放屬性,略寫(xiě)的角度,其中的“this”可以省略,因此案例中去掉了“this”。 同時(shí),由于按鈕都是在主場(chǎng)景中,

37、通過(guò)完整路徑的方式分別控制影片剪輯對(duì)象屬性的做法使程序表達(dá)的更易懂,因此程序塊的第三段和第四段就采用了完整路徑的表達(dá)方式,使用“this.qiantao.Penguin2.alpha”來(lái)表示主場(chǎng)景中“qiantao”影片剪輯元件中的實(shí)例“Penguin2”的“alpha”屬性。 在熟悉了路徑概念,并能加以靈活應(yīng)用之后,大家會(huì)發(fā)現(xiàn)這段語(yǔ)句是可以加以簡(jiǎn)化的,比如: this.qiantao.Penguin2.alpha=this.qiantao.Penguin2.alpha*0.5;可以寫(xiě)成qiantao.Penguin2.alpha=qiantao.Penguin2.alpha*0.5,56,影

38、片剪輯的屬性調(diào)整與路徑,技術(shù)點(diǎn)睛 3、“插入路徑”工具的使用。對(duì)于初學(xué)者來(lái)說(shuō),如果使用路徑有一點(diǎn)困難的話(huà),可以借助“動(dòng)作”面板里的“插入路徑”。 將鼠標(biāo)光標(biāo)放入程序代碼需要插入路徑位置,點(diǎn)擊,進(jìn)入插入目標(biāo)路徑對(duì)話(huà)框,默認(rèn)的是相對(duì)路徑,選擇相應(yīng)的按鈕或者影片剪輯,最好點(diǎn)擊確定按鈕,即可在動(dòng)作面板的程序塊中插入路徑,57,按鈕控制,要點(diǎn)導(dǎo)讀 在本節(jié)中,同學(xué)們將會(huì)學(xué)習(xí)如下的知識(shí)。 1. 學(xué)會(huì)自制按鈕 2. 在flash中顯示圖片 3. 制作照片瀏覽器,58,按鈕控制,按鈕概述 按鈕是圖形化操作中最常見(jiàn)的對(duì)象,F(xiàn)lash中也不例外,在前面幾個(gè)實(shí)例中已經(jīng)提前接觸了。通過(guò)觀察按鈕的時(shí)間軸,可以發(fā)現(xiàn)它就是一

39、個(gè)包含4幀的影片片斷。創(chuàng)建按鈕時(shí),F(xiàn)lash將自動(dòng)創(chuàng)建4幀,即彈起、指針經(jīng)過(guò)、按下和點(diǎn)擊。和普通的連續(xù)幀不同,這4幀并不連續(xù)播放。Flash根據(jù)鼠標(biāo)相對(duì)按鈕的不同位置和動(dòng)作,播放不同的幀。其中: 彈起:對(duì)應(yīng)著鼠標(biāo)沒(méi)有指在按鈕上時(shí)按鈕的狀態(tài); 指針經(jīng)過(guò):對(duì)應(yīng)著鼠標(biāo)滑過(guò)按鈕時(shí)按鈕的狀態(tài); 按下:對(duì)應(yīng)著用戶(hù)在按鈕上按下鼠標(biāo)時(shí)按鈕的狀態(tài); 點(diǎn)擊:定義了按鈕接受用戶(hù)反應(yīng)的范圍,59,按鈕控制,按鈕概述 用戶(hù)在“彈起”幀中繪制圖形、插入圖像元件或者影片元件作為按鈕的外觀。如果不對(duì)“指針經(jīng)過(guò)”、“按下”和“點(diǎn)擊”幀進(jìn)行特別處理,F(xiàn)lash將默認(rèn)這三幀和“彈起”幀的狀態(tài)一樣。在“點(diǎn)擊”幀中,只需繪制一個(gè)簡(jiǎn)單的

40、幾何圖形未定義按鈕觸發(fā)范圍,故此幀在動(dòng)畫(huà)中是不可見(jiàn)的。如果沒(méi)有特別定義這一幀,那么“彈起”幀的范圍將成為默認(rèn)的按鈕觸發(fā)范圍,60,按鈕控制,公共按鈕 Flash中為用戶(hù)提供了大量的按鈕素材。執(zhí)行“窗口”“公用庫(kù)”“按鈕”命令即可打開(kāi)公用庫(kù)中的按鈕元件資源,如圖所示。從圖中可以看到有許多已經(jīng)制作完成的按鈕,分門(mén)歸類(lèi)地保存在按鈕公用庫(kù)里面。這些按鈕大多是動(dòng)態(tài)效果的,就是按鈕的四個(gè)幀里面都有動(dòng)作。用戶(hù)可以從中選擇合適的按鈕加入作品中。當(dāng)用戶(hù)將一個(gè)公共庫(kù)中的按鈕添加到作品中之后,該按鈕便會(huì)自動(dòng)加入當(dāng)前“庫(kù)”面板中,61,按鈕控制,公共按鈕,62,按鈕控制,自制Flash按鈕 “公用庫(kù)”里的按鈕是fla

41、sh軟件本身自帶的,如果“公共庫(kù)”里沒(méi)有合適的按鈕,則需要自己制作,本節(jié)將學(xué)習(xí)Flash簡(jiǎn)單按鈕的制作。源文件請(qǐng)參看資源光盤(pán)“本書(shū)范例第5章完成文件5-55-5.fla,63,按鈕控制,步驟詳解: 步驟1:新建Flash ActionScript3.0文件,執(zhí)行“插入”“新建元件”命令,出現(xiàn)“創(chuàng)建新元件”對(duì)話(huà)框,選擇“按鈕”,名稱(chēng)可以是默認(rèn)名字,單擊“確認(rèn)”按鈕,64,按鈕控制,步驟詳解: 步驟2:進(jìn)入“按鈕元件”編輯窗口,進(jìn)入按鈕編輯區(qū),時(shí)間軸上面一共有四個(gè)幀,分別是“彈起”、“指針經(jīng)過(guò)”、“按下”和“點(diǎn)擊”。如圖所示。 步驟3:使用“矩形工具”在“彈起”幀下繪制一個(gè)矩形,65,按鈕控制,步

42、驟詳解: 步驟4:在 “指針經(jīng)過(guò)”幀按下快捷鍵“F6”鍵,插入關(guān)鍵幀,此時(shí)插入了“彈起”狀態(tài)的按鈕。為了區(qū)分他們的不同狀態(tài),使用“顏料桶”工具,選擇一個(gè)與“彈起”狀態(tài)不同的顏色,對(duì)“指針經(jīng)過(guò)”幀下的“按鈕”進(jìn)行變更顏色,66,按鈕控制,步驟詳解: 步驟5:在“按下”幀按下快捷鍵“F6”鍵插入一個(gè)關(guān)鍵幀,同樣使用“顏料桶工具”對(duì)按鈕進(jìn)行顏色的更改,再使用“任意變形工具”稍微對(duì)“按鈕”圖形進(jìn)行放大調(diào)整。效果如圖所示。 步驟6:在“點(diǎn)擊”幀,也就是鼠標(biāo)的點(diǎn)擊區(qū)域,可以為按鈕繪制一個(gè)較大的矩形,當(dāng)用戶(hù)畫(huà)的按鈕特別小或以文字作為按鈕的時(shí)候,瀏覽者不容易直接點(diǎn)擊到按鈕,這種情況下設(shè)置“點(diǎn)擊”幀尤為重要,6

43、7,按鈕控制,步驟詳解: 步驟7:制作完按鈕,返回到“場(chǎng)景1”,按下“CTRL”+“L”鍵打開(kāi)“庫(kù)面板”,把新建的“按鈕元件”拖入到舞臺(tái)中,按“Ctrl”+“Enter”組合鍵預(yù)覽動(dòng)畫(huà)效果是否如期望設(shè)計(jì),并將文件保存,68,使用按鈕制作照片瀏覽器,實(shí)例講解: 本實(shí)例包括兩大知識(shí)點(diǎn),一個(gè)是通過(guò)按鈕控制照片的翻頁(yè),另外一個(gè)就是如何在Flash中顯示圖片。 打開(kāi)資源光盤(pán)中的“本書(shū)范例第5章完成文件5-65-6完成.swf”可以看到:初始顯示一張國(guó)畫(huà),在國(guó)畫(huà)的右側(cè)有“上一張”、“下一張”兩個(gè)按鈕,通過(guò)點(diǎn)擊按鈕可以翻頁(yè)。查看其fla源文件可以看到:時(shí)間軸中有兩個(gè)圖層,“圖片”圖層第一幀標(biāo)志為“a”,表明其中有幀動(dòng)作;翻頁(yè)的按鈕放置在“按鈕”圖層的第一幀中;庫(kù)面板中很簡(jiǎn)單,沒(méi)有導(dǎo)入顯示的圖片,表明動(dòng)畫(huà)中的圖片是通過(guò)代碼顯示的,69,使用按鈕制作照片瀏覽器,7

溫馨提示

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

評(píng)論

0/150

提交評(píng)論