《中文版Flash CC動畫制作案例教程》 第9章 制作交互動畫_第1頁
《中文版Flash CC動畫制作案例教程》 第9章 制作交互動畫_第2頁
《中文版Flash CC動畫制作案例教程》 第9章 制作交互動畫_第3頁
《中文版Flash CC動畫制作案例教程》 第9章 制作交互動畫_第4頁
《中文版Flash CC動畫制作案例教程》 第9章 制作交互動畫_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

中文版FlashCC動畫制作案例教程簽到掃碼下載文旌課堂APP掃碼簽到(202X.X.XXX:XX至202X.X.XXX:XX)簽到方式教師通過“文旌課堂APP”生成簽到二維碼,并設(shè)置簽到時(shí)間,學(xué)生通過“文旌課堂APP”掃描“簽到二維碼”進(jìn)行簽到。。2第9章制作交互動畫控制視頻播放——使用“代碼片斷”面板控制MTV播放——ActionScript3.0入門制作登錄頁面——條件語句制作下雪效果——循環(huán)語句案例一控制視頻播放——使用“代碼片斷”面板一、ActionScript語法規(guī)則1.字母的大小寫ActionScript3.0是一種區(qū)分大小寫的語言,大小寫不同的標(biāo)識符會被視為不同。2.點(diǎn)語法在ActionScript語句中,點(diǎn)“.”用于指示與對象相關(guān)的屬性或方法。例如:MovieClip.stop(); //停止影片剪輯實(shí)例MovieClip的播放MovieClip.scaleX=1.5; //將影片剪輯實(shí)例MovieClip的寬度設(shè)為原來的1.5倍案例一控制視頻播放——使用“代碼片斷”面板3.括號和分號在ActionScript中大括號“{}”、小括號“()”和分號“;”各有其作用,下面分別介紹。大括號:用于將代碼分成不同的塊。例如:vara:int=5;

//聲明一個(gè)int型變量a并為其賦值5if(a>0){

//如果a大于0trace(“正數(shù)”);

//輸出“正數(shù)”}else{

//否則trace(“負(fù)數(shù)”);

//輸出“負(fù)數(shù)”}小括號:通常用于放置函數(shù)參數(shù),在定義或調(diào)用函數(shù)時(shí)都要使用小括號。例如:trace(“讀者你好!”);//輸出“讀者你好!”分號:在ActionScript語句的結(jié)束處添加分號,表示該語句結(jié)束。案例一控制視頻播放——使用“代碼片斷”面板4.注釋在ActionScript語句的后面添加注釋有助于用戶理解代碼的含義,以及向其他開發(fā)人員提供信息,但不會影響ActionScript語句的執(zhí)行。在ActionScript中有兩種注釋類型:單行注釋:先輸入兩個(gè)斜杠“//”,然后輸入注釋的內(nèi)容即可,計(jì)算機(jī)將忽略斜杠后直到該行末尾的所有內(nèi)容。多行注釋:多行注釋包括一個(gè)開始注釋標(biāo)記“/*”、注釋內(nèi)容和一個(gè)結(jié)束注釋標(biāo)記“*/”。無論注釋跨多少行,計(jì)算機(jī)都將忽略開始標(biāo)記與結(jié)束標(biāo)記之間的內(nèi)容。案例一控制視頻播放——使用“代碼片斷”面板5.標(biāo)識符和關(guān)鍵字現(xiàn)實(shí)生活中,所有事物都有自己的名字,從而與其他事物區(qū)別開。在程序設(shè)計(jì)中,也常常用一個(gè)記號對變量、方法和類等進(jìn)行標(biāo)識,這個(gè)記號就稱為標(biāo)識符。標(biāo)識符的命名必須符合一定的規(guī)范,在ActionScript語言中,標(biāo)識符的第一個(gè)字符必須為字母、下劃線“_”或美元符號“$”,后面的字符可以是數(shù)字、字母、下劃線或美元符號。關(guān)鍵字(keyword)是指編程語言預(yù)先定義的標(biāo)識符,在程序中有其特殊的含義,用戶在命名變量、函數(shù)和類等時(shí)應(yīng)避免使用這些關(guān)鍵字,否則,將導(dǎo)致程序無法進(jìn)行編譯。ActionScript中常見的關(guān)鍵字如右表所示。ActionScript中常見的關(guān)鍵字案例一控制視頻播放——使用“代碼片斷”面板二、實(shí)例名稱和路徑1.實(shí)例名稱這里所指的實(shí)例包括影片剪輯實(shí)例、按鈕元件實(shí)例、視頻剪輯實(shí)例、動態(tài)文本實(shí)例和輸入文本實(shí)例,它們是ActionScript語句面向的對象。要定義實(shí)例名稱,只需使用“選擇工具”

選中舞臺上的實(shí)例,然后在“屬性”面板中輸入名稱即可,如右圖所示。為實(shí)例定義名稱案例一控制視頻播放——使用“代碼片斷”面板2.路徑路徑用來確認(rèn)對象所在的位置。在FlashCC中,不論在哪個(gè)影片剪輯中進(jìn)行操作,都可以從主時(shí)間軸中的影片剪輯實(shí)例出發(fā),再到下一級子影片剪輯實(shí)例,一層一層地往下尋找,從而確認(rèn)對象的位置,每個(gè)影片剪輯實(shí)例之間用“.”分開。例如:假設(shè)在主時(shí)間軸舞臺上有一個(gè)影片剪輯實(shí)例名稱為js,在js實(shí)例中包含一個(gè)子影片剪輯實(shí)例js1,在js1實(shí)例中還包含一個(gè)子影片剪輯實(shí)例js2。要對js2實(shí)例添加stop();語句(該語句的作用是停止動畫播放),應(yīng)輸入以下語句:js.js1.js2.stop();//停止js2影片剪輯實(shí)例的播放要對js添加play();語句(該語句的作用是開始動畫播放),應(yīng)輸入以下語句:js.play();

//開始js影片剪輯實(shí)例的播放案例一控制視頻播放——使用“代碼片斷”面板三、“代碼片斷”面板選擇舞臺上的對象或時(shí)間軸中的幀后,選擇“窗口”>“代碼片斷”菜單,打開“代碼片斷”面板,如下左圖所示。在“代碼片斷”面板中雙擊要應(yīng)用的命令,此時(shí)Flash會自動創(chuàng)建一個(gè)“Actions”圖層,并將相應(yīng)的代碼片段添加到該圖層的關(guān)鍵幀中,還會自動打開“動作”面板,顯示添加的代碼,如下右圖所示。

“代碼片斷”面板

在關(guān)鍵幀上添加代碼片斷如果選擇的對象不是影片剪輯、按鈕元件實(shí)例或TLF文本對象,則在為該對象應(yīng)用代碼片段時(shí),F(xiàn)lash會將其轉(zhuǎn)換為影片剪輯元件。如果選擇的對象還沒有實(shí)例名稱,F(xiàn)lash在應(yīng)用代碼片斷時(shí)會自動為其添加一個(gè)實(shí)例名稱,或要求用戶添加實(shí)例名稱。案例一控制視頻播放——使用“代碼片斷”面板

FlashCC在“代碼片斷”面板中的預(yù)置代碼可分為“ActionScript”、“HTML5Canvas”和“WebGL”三大類?!癆ctionScript”類下又包含11個(gè)分類,下面介紹其中常用的幾類:動作:利用該類代碼片段可以將對象鏈接Web網(wǎng)頁、自定義鼠標(biāo)光標(biāo)、拖放對象及控制影片剪輯的播放等。時(shí)間軸導(dǎo)航:該類代碼片斷主要用于控制動畫的播放進(jìn)程。例如,停止、開始播放動畫,將動畫轉(zhuǎn)到某一幀等。動畫:該類代碼片斷主要用于為對象創(chuàng)建各種動畫特效。加載和卸載:該類代碼片斷用于為對象加載或卸載swf文件或圖像,以及在“庫”面板中添加實(shí)例或從舞臺刪除實(shí)例等。音頻和視頻:該類代碼片斷用于控制音頻和視頻的播放,如暫?;蜷_始播放視頻。事件處理函數(shù):該類代碼片斷用于創(chuàng)建各類鼠標(biāo)事件,如單擊鼠標(biāo)、移動鼠標(biāo)等。案例一控制視頻播放——使用“代碼片斷”面板案例實(shí)施——控制視頻播放本案例將通過制作控制視頻播放效果,帶領(lǐng)讀者了解ActionScript的語法規(guī)則及“代碼片斷”面板的使用方法。打開素材文檔后,首先導(dǎo)入視頻文件;然后為視頻和按鈕設(shè)置實(shí)例名稱;最后利用“代碼片斷”面板為按鈕添加代碼,實(shí)現(xiàn)通過單擊按鈕控制視頻播放的效果。本例具體操作可參照書中步驟??刂埔曨l播放案例二控制MTV播放——ActionScript3.0入門一、輸入代碼的方法在FlashCC中,可以為主時(shí)間軸、按鈕元件或影片剪輯元件內(nèi)的任意關(guān)鍵幀添加代碼,播放動畫時(shí)播放到添加代碼的關(guān)鍵幀即可執(zhí)行該代碼。要為關(guān)鍵幀添加代碼,可先選中關(guān)鍵幀,然后選擇“窗口”>“動作”菜單或按【F9】鍵,打開“動作”面板?!皠幼鳌泵姘逯饕扇糠纸M成,如右圖所示。其中,腳本導(dǎo)航器中列出了當(dāng)前選定對象的名稱和位置等屬性;腳本窗格用來供用戶輸入和編輯代碼;按鈕區(qū)中包含多個(gè)應(yīng)用按鈕?!皠幼鳌泵姘迥_本導(dǎo)航器按鈕區(qū)腳本窗格案例二控制MTV播放——ActionScript3.0入門“動作”面板上方按鈕區(qū)中各按鈕的作用如下?!安迦雽?shí)例路徑和名稱”按鈕:單擊該按鈕可在編輯代碼時(shí)插入一個(gè)目標(biāo)對象的路徑?!安檎摇卑粹o:單擊該按鈕可查找指定的字符串并對指定的字符串進(jìn)行替換?!霸O(shè)置代碼格式”按鈕:單擊該按鈕可使當(dāng)前語句按標(biāo)準(zhǔn)格式排列?!按a片斷”按鈕:單擊該按鈕可打開“代碼片斷”面板。案例二控制MTV播放——ActionScript3.0入門下面以一個(gè)簡單的實(shí)例介紹在關(guān)鍵幀中添加代碼并控制動畫播放的具體操作。

在“動作”面板中輸入代碼1.打開“嬉戲的蝴蝶.fla”文檔,在“引導(dǎo)層”上方新建一個(gè)圖層,命名為“代碼”,再使用“選擇工具”

選中粉色的蝴蝶影片剪輯實(shí)例,在“屬性”面板中將其命名為“hd”。2.單擊選中“代碼”圖層的第1幀,然后按【F9】鍵打開“動作”面板,并在右側(cè)的腳本窗格中輸入代碼,此時(shí)在該關(guān)鍵幀上會出現(xiàn)

標(biāo)記。該代碼表示動畫開始播放時(shí)停止播放“hd”影片剪輯實(shí)例中的動畫案例二控制MTV播放——ActionScript3.0入門

“輸出”面板中的文字該代碼表示動畫播放到35幀時(shí)開始播放“hd”影片剪輯實(shí)例中的動畫3.在“代碼”圖層的第35幀插入關(guān)鍵幀,然后在“動作”面板中輸入代碼。4.按快捷鍵【Ctrl+Enter】測試影片,會看到動畫剛開始播放時(shí)粉色的蝴蝶沒有拍動翅膀,在動畫播放到35幀是才開始拍動翅膀。案例二控制MTV播放——ActionScript3.0入門

二、認(rèn)識變量在程序中存在大量的數(shù)據(jù)來表示程序的狀態(tài),其中有些數(shù)據(jù)的值在程序運(yùn)行過程中會發(fā)生改變,我們將這些數(shù)據(jù)稱為變量,它用于在程序運(yùn)行時(shí)臨時(shí)存放數(shù)據(jù)。為了使用變量,需要首先聲明變量,預(yù)先告訴編譯器將要使用的變量名及其所表示的數(shù)據(jù)類型,以便在后面的代碼中出現(xiàn)該變量時(shí)編譯器知道該如何處理。在ActionScript3.0中聲明變量的格式如下:var變量名:數(shù)據(jù)類型;var是一個(gè)關(guān)鍵字,用來聲明變量。變量的數(shù)據(jù)類型寫在冒號后。此外,我們還可以在聲明變量的同時(shí)為它賦一個(gè)初值,格式如下:var變量名:數(shù)據(jù)類型=值;案例二控制MTV播放——ActionScript3.0入門

在ActionScript3.0中,變量的值可以是字符串、數(shù)字、數(shù)組、對象、xml和日期等。在為變量賦值時(shí),值的數(shù)據(jù)類型必須和變量的數(shù)據(jù)類型一致;若不為變量賦值,則變量將根據(jù)數(shù)據(jù)類型賦予默認(rèn)值。例如:varM:int;varN:int=100;其中“varM:int”聲明了一個(gè)int型變量但沒有賦值,所以會使用默認(rèn)值;“varN:int=100”聲明了一個(gè)int型變量,并為其賦值“100”。在ActionScript3.0中常用的數(shù)據(jù)類型有布爾值(Boolean)、數(shù)字(int、uint、Number)和字符串(String)、影片剪輯元件(MovieCilp)、動態(tài)文本字段或輸入文本字段(TextField)、按鈕元件(SimpieButton)、日期和時(shí)間(Date)等。案例二控制MTV播放——ActionScript3.0入門

三、認(rèn)識函數(shù)1.調(diào)用函數(shù)函數(shù)是ActionScript3.0中執(zhí)行特定任務(wù)并可以在程序中反復(fù)使用的代碼塊,它分為內(nèi)置函數(shù)和自定義函數(shù)兩種。內(nèi)置函數(shù)就是系統(tǒng)自帶的函數(shù),可以在編寫代碼的時(shí)候直接調(diào)用,自定義函數(shù)就是用戶根據(jù)需要自己編寫的函數(shù)。FlashCC本身內(nèi)置了許多函數(shù),可通過在函數(shù)名后跟小括號“()”來調(diào)用函數(shù)。例如,前面實(shí)例中的stop和play都是Flash自帶的時(shí)間軸控制函數(shù),用來控制動畫的播放。需要注意的是,無論調(diào)用的函數(shù)是否有參數(shù),都需要加上小括號;若要調(diào)用的函數(shù)有參數(shù),需將參數(shù)放置在小括號中。調(diào)用自定義的函數(shù)與調(diào)用FlashCC內(nèi)置函數(shù)的方法相同。案例二控制MTV播放——ActionScript3.0入門

2.自定義函數(shù)在ActionScript3.0中使用函數(shù)語句或函數(shù)表達(dá)式可以自定義函數(shù)。若采用靜態(tài)或嚴(yán)格模式的編程方法,則應(yīng)使用函數(shù)語句來定義函數(shù);若采用動態(tài)或標(biāo)準(zhǔn)模式的編程方法,則應(yīng)使用函數(shù)表達(dá)式定義函數(shù)。下面對兩種方法分別進(jìn)行介紹。函數(shù)語句:函數(shù)語句的語法結(jié)構(gòu)如下。其中,函數(shù)體是調(diào)用函數(shù)時(shí)要執(zhí)行的代碼。function函數(shù)名(參數(shù)1:參數(shù)類型,參數(shù)2:參數(shù)類型,…){函數(shù)體}案例二控制MTV播放——ActionScript3.0入門

functiontomorrow(aParam:String){//定義tomorrow函數(shù),包括一個(gè)參數(shù)aParam,參數(shù)類型為String(字符串)trace(aParam);/*調(diào)用tomorrow函數(shù)時(shí)執(zhí)行trace函數(shù),并使用aParam參數(shù)。trace函數(shù)是Flash內(nèi)置的一個(gè)頂級函數(shù),用來測試程序,輸出相關(guān)信息*/}tomorrow(“hello”);//調(diào)用tomorrow函數(shù),在“輸出”面板中輸出字符“hello”示例:案例二控制MTV播放——ActionScript3.0入門

函數(shù)表達(dá)式:函數(shù)表達(dá)式結(jié)合使用了賦值語句,使用它定義函數(shù)的語法結(jié)構(gòu)如下。var函數(shù)名Function=function(參數(shù)1:參數(shù)類型,參數(shù)2:參數(shù)類型…){函數(shù)體}示例:vartomorrow:Function=function(aParam:String){trace(aParam);}tomorrow(“hello”);案例二控制MTV播放——ActionScript3.0入門

四、時(shí)間軸控制函數(shù)時(shí)間軸控制函數(shù)用于控制動畫中時(shí)間軸(播放頭)的播放進(jìn)程,它是制作普通交互動畫時(shí)使用頻率最高的函數(shù)類型。下面為讀者介紹比較常用的時(shí)間軸控制函數(shù)。Stop():將動畫停止在當(dāng)前幀。play():使停止播放的動畫從當(dāng)前位置繼續(xù)播放。gotoAndPlay(場景名稱,幀數(shù)):當(dāng)動畫播放到某幀或單擊某按鈕時(shí),跳轉(zhuǎn)到指定的幀并從該幀開始播放。gotoAndStop(場景名稱,幀數(shù)):當(dāng)播放頭播放到某幀或單擊某按鈕時(shí),跳轉(zhuǎn)到指定的幀并從該幀停止播放。nextFrame():從當(dāng)前幀跳轉(zhuǎn)到下一幀并停止播放。prevFrame():從當(dāng)前幀跳轉(zhuǎn)到前一幀并停止播放。nextScene():跳轉(zhuǎn)到下一個(gè)場景并停止播放。prevScene():跳轉(zhuǎn)到前一個(gè)場景并停止播放。stopAllSounds():在不停止播放動畫的情況下,使當(dāng)前播放的所有聲音停止播放。案例二控制MTV播放——ActionScript3.0入門

五、處理對象在程序設(shè)計(jì)中,對象是一組數(shù)據(jù)和相關(guān)方法的集合。程序中可通過變量向其傳遞或獲取數(shù)據(jù),而通過調(diào)用其中的方法執(zhí)行某些操作。在Flash中,每一個(gè)訪問的目標(biāo)都可以稱為一個(gè)對象。例如,舞臺中的影片剪輯實(shí)例、按鈕實(shí)例等。ActionScript3.0中的任何對象都可包含三種特性:屬性、方法和事件,下面分別介紹。1.屬性“屬性”是對象的基本特征,如影片剪輯實(shí)例的大小、位置、透明度等。表示對象屬性的通用語法結(jié)構(gòu)為“對象名稱(變量名).屬性名稱;”。例如:mymc.x=80;//將實(shí)例名稱為mymc的影片剪輯實(shí)例移動到x坐標(biāo)為80的位置mymc.rotation=2nd.Rotation;//使用rotation屬性旋轉(zhuǎn)mymc影片剪輯實(shí)例,以便與2nd影片剪輯實(shí)例的角度匹配mymc.scaleY=5;//更改mymc影片剪輯實(shí)例的垂直縮放比例,使其高度變?yōu)樵瓉淼?倍案例二控制MTV播放——ActionScript3.0入門

2.方法方法是指可以由對象執(zhí)行的操作(函數(shù)是有返回值的方法)。例如,如果Flash中制作了一個(gè)包含動畫的影片剪輯,便可以播放或停止該影片剪輯中的動畫,或者將播放頭跳轉(zhuǎn)到指定的幀:mymc.play();//使實(shí)例名為mymc的影片剪輯實(shí)例開始播放mymc.stop();//使實(shí)例名為mymc的影片剪輯實(shí)例停止播放mymc.gotoAndstop(10);//使實(shí)例名為mymc的影片剪輯實(shí)例跳轉(zhuǎn)到第10幀并停止播放mymc.gotoAndplay(10);//使實(shí)例名為mymc的影片剪輯實(shí)例跳轉(zhuǎn)到第10幀并開始播放“方法”右側(cè)的小括號中是其參數(shù),可以將值或變量放入小括號中。如“gotoAndplay(10)”中的“10”,就表示將播放頭跳轉(zhuǎn)到第10幀并播放,而像“stop()”和“play()”這種方法是沒有參數(shù)的。案例二控制MTV播放——ActionScript3.0入門

3.事件所謂事件是指計(jì)算機(jī)發(fā)生的,ActionScript能夠識別并可響應(yīng)的事情,例如用戶單擊鼠標(biāo)或按鍵盤上的按鍵等。在ActionScript3.0中無論編寫怎樣的事件處理代碼,都會包括事件源、事件和響應(yīng)3個(gè)基本要素,下面分別介紹。事件源:即發(fā)生事件的對象,也稱為“事件目標(biāo)”,如某個(gè)按鈕被單擊,那么這個(gè)按鈕就是事件源。事件:即將要發(fā)生的事情,有時(shí)一個(gè)對象會觸發(fā)多個(gè)事件,因此對事件的識別非常重要。響應(yīng):當(dāng)事件發(fā)生時(shí)執(zhí)行的操作。案例二控制MTV播放——ActionScript3.0入門

編寫事件代碼的基本結(jié)構(gòu)如下。以粗體顯示的是用戶針對具體情況填寫的占位符。functioneventResponse(eventObjece:EventType):void{//響應(yīng)事件而執(zhí)行的動作}eventSource.addEventListener(EventType.EVENT_NAME,eventResponse);在此結(jié)構(gòu)中,首先定義了一個(gè)函數(shù),該函數(shù)實(shí)際就是將若干個(gè)動作組合在一起,并使用一個(gè)快捷的名稱(函數(shù)名)來執(zhí)行這些動作。其中,eventResponse是函數(shù)名稱,eventObjece是函數(shù)參數(shù),EventType是該參數(shù)的類型。在大括號中是事件發(fā)生時(shí)所執(zhí)行的指令。案例二控制MTV播放——ActionScript3.0入門

其次,調(diào)用源對象的addEventListener()方法,以便當(dāng)事件發(fā)生時(shí),執(zhí)行該函數(shù)的動作。其有兩個(gè)參數(shù):第一個(gè)參數(shù)是響應(yīng)的特定事件的名稱;第二個(gè)參數(shù)是事件響應(yīng)函數(shù)的名稱。示例:this.stop();/*當(dāng)播放頭播放到當(dāng)前幀時(shí)停止播放*/functionstartMovie(event:MouseEvent):void/*定義一個(gè)名為startMovie的函數(shù),要偵聽的事件所調(diào)用的對象為MouseEvent(鼠標(biāo)事件類)*/{this.play();/*當(dāng)鼠標(biāo)事件發(fā)生時(shí)開始播放當(dāng)前動畫*/}startButton.addEventListener(MouseEvent.CLICK,startMovie);/*當(dāng)單擊名為“startButton”的按鈕實(shí)例時(shí),執(zhí)行“startMovie”函數(shù)的動作?!癕ouseEvent”為鼠標(biāo)事件類,“CLICK”表示單擊*/案例二控制MTV播放——ActionScript3.0入門

下面通過一個(gè)控制影片播放的實(shí)例,介紹“方法”的實(shí)際應(yīng)用。

拖入“播放”按鈕

設(shè)置按鈕的實(shí)例名稱1.打開“方法素材.fla”文檔,會看到舞臺中有一個(gè)天鵝飛翔的影片剪輯實(shí)例,將“庫”面板中的“播放”按鈕拖到舞臺右下方。2.選中舞臺中的“播放”按鈕,在“屬性”面板將其實(shí)例名稱設(shè)為“bf”。案例二控制MTV播放——ActionScript3.0入門

新建“代碼”圖層為關(guān)鍵幀添加代碼3.雙擊“天鵝”影片剪輯實(shí)例進(jìn)入其編輯窗口,在所有圖層上方新建一個(gè)圖層,并將其命名為“代碼”。4.單擊選中“代碼”圖層的第1幀,打開“動作”面板,輸入“stop();”。案例二控制MTV播放——ActionScript3.0入門

設(shè)置影片剪輯實(shí)例的實(shí)例名稱為關(guān)鍵幀添加代碼5.返回主場景,選中舞臺中的“天鵝”影片剪輯實(shí)例,在“屬性”面板中將其實(shí)例名稱設(shè)為“mymc”。6.在“圖層1”上方新建一個(gè)圖層,將其命名為“代碼”,單擊選中“代碼”圖層第1幀,在“動作”面板中輸入代碼。7.按快捷鍵【Ctrl+Enter】測試動畫,會看到動畫開始時(shí)是停止的,當(dāng)單擊“播放”按鈕后,動畫開始播放并停止在“天鵝”影片剪輯的第1幀。案例二控制MTV播放——ActionScript3.0入門

上述實(shí)例中,“MouseEvent”是鼠標(biāo)事件類,點(diǎn)(.)后面的常量說明了具體的鼠標(biāo)事件類型。下表中列出了與鼠標(biāo)相關(guān)的事件類型。鼠標(biāo)相關(guān)事件案例二控制MTV播放——ActionScript3.0入門

4.創(chuàng)建對象實(shí)例在ActionScript中使用對象前,必須先確保該對象存在。創(chuàng)建對象的第一步是聲明變量,但聲明變量僅表示在電腦內(nèi)存中創(chuàng)建了一個(gè)空位置,還必須為變量賦予一個(gè)實(shí)際的值——即創(chuàng)建一個(gè)對象并將其儲存在變量中,整個(gè)過程稱為變量“實(shí)例化”。有一種創(chuàng)建對象實(shí)例的簡單方法,可以完全不涉及ActionScript。當(dāng)在“屬性”面板中為舞臺上的影片剪輯實(shí)例、按鈕元件實(shí)例、視頻剪輯實(shí)例、動態(tài)文本實(shí)例或輸入文本實(shí)例設(shè)置一個(gè)實(shí)例名稱時(shí),F(xiàn)lash會自動聲明一個(gè)擁有該實(shí)例名稱的變量,創(chuàng)建一個(gè)對象實(shí)例并將這個(gè)對象儲存在該變量中。除了上述方法外,還可以使用ActionScript創(chuàng)建實(shí)例。除Number、String、Boolean、XML、Array、RegExp、Object和Function數(shù)據(jù)類型外,要創(chuàng)建一個(gè)對象實(shí)例,應(yīng)將new與類名一起使用。例如:varmymc:MovieClip=newMovieClip;//創(chuàng)建一個(gè)名為“mymc”的影片剪輯實(shí)例varmyday:Date=newDate(2016,2,14);//用此方法創(chuàng)建實(shí)例時(shí),在類名后加上小括號,還可以指定參數(shù)值案例二控制MTV播放——ActionScript3.0入門

下面以制作一個(gè)通過輸入數(shù)值控制影片剪輯實(shí)例x坐標(biāo)的實(shí)例,練習(xí)前面所學(xué)知識。

打開素材文檔拖入“飛碟”影片剪輯1.打開“屬性素材.fla”文檔,會看到舞臺中有一幅位圖背景,“庫”面板中有一個(gè)“應(yīng)用”按鈕元件和一個(gè)“飛碟”影片剪輯。2.在“背景”圖層上新建3個(gè)圖層并分別命名為“飛碟”、“對象”和“代碼”,然后將“庫”面板中的“飛碟”影片剪輯拖到“飛碟”圖層的舞臺右側(cè)。案例二控制MTV播放——ActionScript3.0入門

設(shè)置影片剪輯實(shí)例名稱繪制矩形并輸入文本3.選中“飛碟”影片剪輯實(shí)例,在“屬性”面板中將其實(shí)例名稱設(shè)為“fd”。4.選擇“矩形工具”

,將“筆觸顏色”設(shè)為無、“填充顏色”設(shè)為白色,

然后在“對象”圖層的舞臺左上方繪制一個(gè)矩形;選擇“文本工具”

,將“字體”設(shè)為“楷體_GB2312”、“字體大小”設(shè)為“25”、“文本(填充)顏色”設(shè)為黑色,然后在矩形左側(cè)輸入文字“x坐標(biāo):”。案例二控制MTV播放——ActionScript3.0入門

創(chuàng)建文本框并為其設(shè)置實(shí)例名稱設(shè)置字符范圍5.在“屬性”面板中將“文本工具”

的“文本類型”設(shè)為“輸入文本”,并在矩形上的文字右側(cè)拖出一個(gè)文本框,再在“屬性”面板中將文本框的實(shí)例名稱設(shè)為“a”。6.選中舞臺中的輸入文本框,單擊“屬性”面板中的“嵌入”按鈕

,在打開的“字體嵌入”對話框中勾選“字符范圍”列表中的“全部(7491/93514字型)”復(fù)選框,并單擊“確定”按鈕。案例二控制MTV播放——ActionScript3.0入門

拖入“應(yīng)用”按鈕并為其設(shè)置實(shí)例名稱為關(guān)鍵幀添加代碼7.將“庫”面板中的“應(yīng)用”按鈕元件拖到“對象”圖層白色矩形下方,然后在“屬性”面板中將其實(shí)例名稱設(shè)為“yy”。8.單擊選中“代碼”圖層的第1幀,打開“動作”面板,輸入代碼(注釋部分可不用輸入)。案例二控制MTV播放——ActionScript3.0入門

測試影片效果9.輸入完成后按快捷鍵【Ctrl+Enter】測試動畫,會看到在文本框中輸入數(shù)值后單擊“應(yīng)用”按鈕,可使飛碟按照輸入的數(shù)值改變x坐標(biāo)。不論是影片剪輯實(shí)例、按鈕元件實(shí)例、視頻剪輯實(shí)例、動態(tài)文本實(shí)例還是輸入文本實(shí)例,它們的實(shí)例名稱都應(yīng)該是唯一的,在同一個(gè)Flash文件中不要有相同的實(shí)例名稱,否則在執(zhí)行代碼時(shí)會出現(xiàn)錯(cuò)誤。案例二控制MTV播放——ActionScript3.0入門

案例實(shí)施——控制MTV播放本案例將通過制作控制MTV播放交互效果,帶領(lǐng)讀者了解輸入代碼的方法,并認(rèn)識ActionScript3.0的函數(shù)和處理對象。打開素材文檔后新建并重命名圖層;然后將按鈕元件拖入舞臺并為其添加實(shí)例名稱;最后利用“動作”面板在關(guān)鍵幀上添加代碼,制作單擊按鈕控制MTV播放的互動效果。本例具體操作可參照書中步驟??刂芃TV播放案例三制作登錄頁面——條件語句

一、if...elseif...else語句是最重要的條件語句之一,表示如果條件表達(dá)式為true(真),執(zhí)行流程語句a;若條件表達(dá)式為false(假),則執(zhí)行流程語句b,其語法結(jié)構(gòu)如下:if(條件表達(dá)式){流程a}else{流程b}例如:vara:int=7;varb:int=4;if(a>b){

//如果a大于btrace(“a比b大!”); //輸出“a比b大!”}else{ //否則trace(“b比a大!”); //輸出“b比a大!”}案例三制作登錄頁面——條件語句

流程a和b可以是單條語句,也可以包含多條語句。當(dāng)流程只有一條語句時(shí),可以省略大括號,例如上面的代碼也可以寫成:vara:int=10;varb:int=5;if(a>b)trace(“a比b大!”);else

trace(“b比a大!”);案例三制作登錄頁面——條件語句

在前面制作的“控制飛碟位置”實(shí)例中,假設(shè)我們要為輸入的X坐標(biāo)限制一個(gè)范圍,只讓用戶輸入130到420之間的數(shù)值,否則會提示“輸入錯(cuò)誤”,可在按下左圖所示修改代碼,增加條件語句。播放動畫時(shí),若輸入430,單擊“應(yīng)用”按鈕的結(jié)果如下右圖所示。

輸入條件語句

程序運(yùn)行結(jié)果案例三制作登錄頁面——條件語句

二、if...elseif...elseif...elseif...else語句也比較常見,利用它可以實(shí)現(xiàn)對多個(gè)條件進(jìn)行判斷。實(shí)際上if...elseif...else語句并不復(fù)雜,就是一個(gè)if...else語句后面跟著另一個(gè)if...else語句。在使用if...elseif...else語句時(shí)應(yīng)注意,一旦有一個(gè)if語句中的條件表達(dá)式為真,那么就會執(zhí)行該if語句中包含的流程,而該語句之后的其他if...else語句便都不會被執(zhí)行了。例如:vara:int=120;if(a>0){ //如果a大于0trace(“a是一個(gè)正整數(shù)”); //輸出“a是一個(gè)正整數(shù)”

}elseif(a>100){ //否則如果a大于100trace(“a是一個(gè)大于100的正整數(shù)”); //輸出“a是一個(gè)大于100的正整數(shù)”

}else{ //否則trace(“a小于0”); //輸出“a小于0”}

//最后結(jié)果,輸出“a是一個(gè)正整數(shù)”案例三制作登錄頁面——條件語句

在上述代碼中由于a=120,原本是希望該程序判斷出a大于100。但由于將a>0放在了第一位,所以只會執(zhí)行第一個(gè)if語句包含的流程,后面的都會被忽略。若想使if帶給我們更加精確的結(jié)果,應(yīng)該將精確范圍較小的表達(dá)式提前,上例中,應(yīng)將if(a>100)及其包含的流程提到前面。在互斥的條件判斷下,為了使程序的執(zhí)行效率更高,應(yīng)將最有可能為真的if選項(xiàng)放在最前面。案例三制作登錄頁面——條件語句

案例實(shí)施——制作登錄頁面本案例將通過制作登錄頁面,帶領(lǐng)讀者了解前兩種條件語句的使用方法。首先新建一個(gè)Flash文檔,并設(shè)置文檔屬性;然后新建并重命名圖層,導(dǎo)入圖像素材,布置登錄頁面背景;再利用圖形素材創(chuàng)建影片剪輯,并在影片剪輯中制作登錄頁面的切換效果;接著在舞臺中創(chuàng)建輸入文本框和動態(tài)文本框,并創(chuàng)建透明按鈕;最后設(shè)置各對象的實(shí)例名稱,并在影片剪輯內(nèi)部和主時(shí)間軸的關(guān)鍵幀上添加代碼,實(shí)現(xiàn)交互效果。本例具體操作可參照書中步驟。登錄頁面案例四制作下雪效果——循環(huán)語句

一、whilewhile的中文意思是“當(dāng)……的時(shí)候”,顧名思義while語句表示:當(dāng)滿足條件表達(dá)式時(shí)執(zhí)行循環(huán)體。執(zhí)行完循環(huán)體后,while語句會再次對條件表達(dá)式進(jìn)行判斷,若滿足條件表達(dá)式,便繼續(xù)執(zhí)行循環(huán)體,直至不能滿足條件表達(dá)式為止。while語句的基本結(jié)構(gòu)如下。While(循環(huán)條件){循環(huán)體}例如:vari:int

溫馨提示

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

評論

0/150

提交評論