flashcs6教程第9章經(jīng)典實(shí)例:制作下雪中的風(fēng)景圖片
《flashcs6教程第9章經(jīng)典實(shí)例:制作下雪中的風(fēng)景圖片》由會員分享,可在線閱讀,更多相關(guān)《flashcs6教程第9章經(jīng)典實(shí)例:制作下雪中的風(fēng)景圖片(39頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、ActionScript最初是為Flash產(chǎn)品開發(fā)的一種簡單的腳本語言,現(xiàn)在已是一種完全的面向?qū)ο蟮木幊陶Z言,功能強(qiáng)大,類庫豐富,語法類似JavaScript,多用于Flash互動性、娛樂性、實(shí)用性開發(fā)等。ActionScript語句一般由語句、變量和函數(shù)組成。具體來說,是由變量、函數(shù)、表達(dá)式和運(yùn)算符等組成,其屬性和使用方法如下。在ActionScript語句中,變量用來存儲數(shù)值、邏輯值、對象、字符串以及動畫片段等信息,一個變量由變量和變量值組成,變量名用于區(qū)分不同的變量;變量值用于確定變量的類型和大小,它可以隨特定的條件而改變。在Flash中為變量命名時必須遵循以下規(guī)則。l 變量名必須是一個
2、標(biāo)識符。標(biāo)識符的第一個字符必須為字母、下劃線或美元符號($)。其后字符可以是數(shù)字、字母、下劃線或美元符號。l 在一個動畫中變量名必須是唯一的。l 變量名不能是關(guān)鍵字或ActionScript文本,如true、false、null等。l 變量不能是ActionScript語言中的任何元素,例如類名稱。l 變量名區(qū)分大小寫,當(dāng)變量中出現(xiàn)一個新單詞時,新單詞的第一個字母要大寫。用戶在Flash中聲明變量后,該變量就包含一個默認(rèn)值,該值取決于它的數(shù)據(jù)類型(如表9-1所示),此時的變量處于“未初始化”狀態(tài),當(dāng)首次設(shè)置變量值時,就是初始化變量。圖表9-1 變量的默認(rèn)值數(shù)據(jù)類型數(shù)據(jù)類型默認(rèn)值默認(rèn)值Boole
3、anfalseint0NumberNaNObjectnullStringnulluint0未聲明(與類型注釋*等效)undefined其他所有類(包括用戶定義的類)null數(shù)據(jù)類型描述一個數(shù)據(jù)片段以及可以對其執(zhí)行的各種操作。在創(chuàng)建變量、對象實(shí)例和函數(shù)定義時,應(yīng)使用數(shù)據(jù)類型來指定要使用的數(shù)據(jù)的類型。在ActionScript中內(nèi)置的數(shù)據(jù)類型有String、Numeric、Boolean、Null以及void等。除此之外,程序員還可以定義一些數(shù)據(jù)類型,如MovieClip、TextField、Date等。l String:表示文本值,例如一本書的章節(jié)名稱或者標(biāo)題。l Numeric:表示數(shù)值,在A
4、ctionScript中包含3種特定的數(shù)據(jù)類型,分別是Number(包括含有或者不含有小數(shù)的值在內(nèi)的任何數(shù)值)、int(不含有小數(shù)的整數(shù))和uint(無符號的整數(shù),即非負(fù)整數(shù))。l Boolean:一個true或false值,例如兩個值是否相等。l Null:只包含一個null值。 該值是String 數(shù)據(jù)類型以及定義復(fù)合數(shù)據(jù)類型的所有類的默認(rèn)值。l void:只包含一個特殊值undefined。用戶只能將undefined值賦值給未定義數(shù)據(jù)類型的變量。l MovieClip:影片剪輯元件。l TextField:動態(tài)文本字段或輸入文本字段。l Date:表示單個值,如時間中的某個片刻。而該日
5、期值實(shí)際上表示年、月、時、分、秒等幾個值,它們都是單獨(dú)的數(shù)字動態(tài)文本字段或輸入文本字段。在了解ActionScript語句的組成后,還需要熟悉ActionScript語句的基本語法,才能利用ActionScript語句編輯出具有交互功能的腳本。ActionScript的基本語法如下。l 點(diǎn)語法:在ActionScript語句中,點(diǎn)(.)用于指定訪問對象的屬性和方法,并標(biāo)識指向的動畫片段或變量的目標(biāo)路徑。它包括_root和_parent兩個特殊的別名。其中,_root 用于創(chuàng)建一個絕對路徑,表示動畫中的主時間軸,而_parent則用于對嵌套在當(dāng)前動畫中的動畫片段進(jìn)行引用。l 圓括號():用于放置
6、使用動作時的參數(shù),定義一個函數(shù),以及對函數(shù)進(jìn)行調(diào)用等,也可以用來改變ActionScript的優(yōu)先級。l 大括號:用于將代碼分成不同的塊,以作為區(qū)分程序段落的標(biāo)記。l 分號:在ActionScript語句的結(jié)束處,用來表示語句的結(jié)束。l 關(guān)鍵字:是指具有特殊含義且供ActionScript進(jìn)行調(diào)用的特定單詞。在ActionScript中,較為重要的關(guān)鍵字主要有Break、Continue、Delete、Else、For、Function、IF、In、New、Return、This、Typeof、Var、Void、While和With等。l 字母的大小寫:在ActionScript中,除了關(guān)鍵字
7、區(qū)分大小寫之外,其余ActionScript的大小寫字母可以混用,但是遵守規(guī)則的書寫約定可以使腳本代碼更容易被區(qū)分,便于閱讀。l 注釋:在編輯語句時,為了便于語句的閱讀和理解,可以在語句后面添加注釋。添加注釋的方法是直接在語句后面輸入“/”,然后輸入注釋的內(nèi)容即可。注釋內(nèi)容以灰色顯示,它的長度不受限制,也不會執(zhí)行。在Flash CS6中,可以對時間軸上的任何幀添加代碼,該代碼將在影片播放期間播放頭進(jìn)入該幀時執(zhí)行。方法是在Flash窗口中選擇“窗口”|“動作”命令,或按F9鍵打開“動作”面板,如圖9-1所示,在腳本編輯窗格中可以輸入編輯代碼。圖9-1 “動作”面板面板的左上方為動作工具箱,分別列
8、出了Flash中能用到的所有動作腳本。只要將該列表框中的腳本命令插入到腳本編輯窗格即可進(jìn)行相關(guān)的操作。動作工具箱中的動作腳本命令很多,用戶可以借助鍵盤上的一些按鍵更加快捷地進(jìn)行操作。l Home鍵:選擇動作工具箱中的第一項(xiàng)。l End鍵:選擇動作工具箱中的最后一項(xiàng)。l 鍵:選擇動作工具箱中的前一項(xiàng)。l 鍵:選擇動作工具箱中的下一項(xiàng)。圖9-2 查看全部腳本命令的索引l 鍵:展開動作工具箱中的父命令,再按該鍵可以將鼠標(biāo)移動至相應(yīng)的子命令。l 鍵:由子命令返回到父命令。l Enter鍵或空格鍵:展開或折疊文件夾。在動作工具箱的最下面給出了全部腳本命令的索引,按照命令的首字符進(jìn)行排序,如圖9-2所示。
9、在動作工具箱中將鼠標(biāo)移動至某個動作命令上,將會出現(xiàn)該命令的相應(yīng)提示;如果選中該動作命令,在動作說明區(qū)域?qū)霈F(xiàn)對該命令的描述,如圖9-3所示。圖9-3 查看動作命令的提示說明信息“動作”面板的左下方窗格為腳本導(dǎo)航器,可以查看動畫中已經(jīng)添加腳本的對象的具體信息(如所在圖層、幀和場景等信息)。通過該列表框,可以在Flash文檔中的各個腳本間快速切換。在腳本編輯窗格中可以直接為選擇的對象輸入腳本命令。如果用戶單擊腳本導(dǎo)航器中的某一項(xiàng)目,與該項(xiàng)目關(guān)聯(lián)的腳本也將會顯示在腳本編輯窗格中,并且播放頭將移到時間軸上的相應(yīng)位置。雙擊腳本導(dǎo)航器中的某一項(xiàng)目可固定腳本,將其鎖定在當(dāng)前位置。 在腳本編輯窗格上方有一些
10、輔助功能圖標(biāo),其含義如下。l “將新項(xiàng)目添加到腳本中”圖標(biāo):單擊該圖標(biāo),在彈出的菜單中列出了可用于創(chuàng)建腳本類型的動作命令,如圖9-4所示圖9-4 單擊“將新項(xiàng)目添加到腳本中”圖標(biāo)l “刪除所選動作”圖標(biāo):在腳本編輯窗格選擇某動作腳本,然后單擊該圖標(biāo)可以將其刪除。l “查找”圖標(biāo):單擊該圖標(biāo),將會彈出“查找和替換”對話框,使用該對話框可以查找并替換腳本中的文本,如圖9-5所示。圖9-5 “查找和替換”對話框l “插入目標(biāo)路徑”圖標(biāo):單擊該圖標(biāo),將會彈出“插入目標(biāo)路徑”對話框,在此可以為腳本中的某個動作設(shè)置絕對或相對目標(biāo)路徑,如圖9-6所示。圖9-6 “插入目標(biāo)路徑”對話框l “向上移動所選動作”
11、圖標(biāo):單擊該圖標(biāo),在腳本編輯窗格中向上移動選中的動作。l “向下移動所選動作”圖標(biāo):單擊該圖標(biāo),在腳本編輯窗格中向下移動選中的動作。l “顯示/隱藏工具箱”圖標(biāo):單擊該圖標(biāo),可以隱藏左側(cè)的動作工具箱,如圖9-7所示。再次單擊該圖標(biāo),可以顯示出被隱藏的動作工具箱。l “代碼片斷”圖標(biāo):單擊該圖標(biāo),將會彈出“代碼片斷”面板,如圖9-8所示。在此選擇某動作,然后單擊動作選項(xiàng)右側(cè)的“顯示說明”圖標(biāo),可以在彈出對話框中查看動作說明信息,如圖9-9所示;若單擊“顯示代碼”圖標(biāo),可以在對話框查看該動作的代碼,如圖9-10所示;若單擊“添加到當(dāng)前幀”圖標(biāo),可以對當(dāng)前選中的影片剪輯元件應(yīng)用該動作;若單擊“復(fù)制到
12、剪貼板”圖標(biāo),可以復(fù)制選中的動作。圖9-7 動作工具箱被隱藏后的“動作”面板圖9-8 “代碼片斷”面板l “通過從動作工具箱選項(xiàng)項(xiàng)目來編寫腳本”圖標(biāo):單擊該圖標(biāo),可以在腳本編輯窗格中編輯添加的動作腳本,同時會隱藏動作說明區(qū)域,如圖9-11所示。l “幫助”圖標(biāo):顯示腳本窗格中所選ActionScript元素的參考信息。例如,如果單擊import語句,再單擊該圖標(biāo),“幫助”面板中將顯示import的參考信息。圖9-9 查看動作說明信息圖9-10 查看動作代碼圖9-11 在腳本編輯窗格中編寫腳本如果用戶單擊“動作”面板右上角的“菜單項(xiàng)”圖標(biāo) ,則可以打開“動作”面板的選項(xiàng)菜單,如圖9-12所示。圖
13、9-12 “動作”面板的選項(xiàng)菜單圖9-13 “轉(zhuǎn)到行”對話框圖9-14 警告對話框l “語法檢查”:檢查當(dāng)前腳本。l “顯示代碼提示”:選中該命令,在輸入腳本時,可以檢測到正在輸入的動作并顯示代碼提示。l “導(dǎo)入腳本”:導(dǎo)入外部AS文件。l “導(dǎo)出腳本”:從“動作”面板中導(dǎo)出腳本。該菜單中的命令的含義分別如下。l “重新加載代碼提示”:在不重新啟動軟件的情況下重新加載代碼提示。l “固定腳本”:選擇該命令,可以使腳本出現(xiàn)在“動作”面板中腳本編輯窗格左下角的選項(xiàng)卡內(nèi)。l “關(guān)閉腳本”:取消固定腳本。l “關(guān)閉所有腳本”:取消所有固定腳本。l “轉(zhuǎn)到行”:在腳本中搜索文本,可利用該命令轉(zhuǎn)到腳本中的
14、特定行。選擇該命令后,將打開“轉(zhuǎn)到行”,如圖9-13所示。用戶只需要在“行號”文本框中輸入數(shù)值,并單擊“確定”按鈕即可快速地轉(zhuǎn)到相應(yīng)的行。l “查找和替換”:查找和替換腳本中的文本。l “再次查找”:用于再次查找所需要的文本。l “自動套用格式”:按自動套用格式設(shè)置代碼格式。如果腳本中有語法錯誤,執(zhí)行該命令會彈出如圖9-14所示的警告對話框。圖9-15 “打印”對話框圖9-16 “首選參數(shù)”對話框l “打印”:選擇該命令,將打開“打印”對話框,如圖9-15所示。用戶可以設(shè)置相應(yīng)的打印參數(shù),再單擊“確定”按鈕打印腳本。l “腳本助手”:選中該命令,將使用“腳本助手”模式。如果腳本中有錯誤,將彈出
15、警告框。l “Esc 快捷鍵”:選擇該命令,可查看快捷鍵列表。l “隱藏字符”:選擇該命令后,隱藏ActionScript語句中的空格、制表符和換行符等字符。l “行號”:選中該命令,會在該命令前出現(xiàn)“”標(biāo)記,此時在腳本窗格中會顯示行編號。l “自動換行”:啟用或禁用自動換行。l “首選參數(shù)”:選擇該命令,將打開“首選參數(shù)”對話框,如圖9-16所示。在熟悉了“動作”面板后,下面學(xué)習(xí)如何在時間軸上添加ActionScript語句,具體操作步驟如下。步驟1 在“時間軸”面板中選擇要添加ActionScript語句的關(guān)鍵幀,如圖9-17所示,然后在菜單欄中選擇“窗口”|“動作”命令,打開“動作”面板
16、。步驟2 在“動作”面板右側(cè)單擊“通過從動作工具箱選擇項(xiàng)目來編寫腳本”圖標(biāo),接著在腳本編輯窗格中輸入如圖9-18所示的語句(注意大小寫)。圖9-17 選擇要添加ActionScript語句的幀的位置步驟3 語句輸入完畢后,關(guān)閉“動作”面板,此時即可在“時間軸”面板中看到選擇的關(guān)鍵幀中出現(xiàn)一個“”符號,表示該幀已經(jīng)被添加了ActionScript語句,如圖9-19所示。圖9-18 輸入ActionScript語句由于在時間軸上輸入代碼容易導(dǎo)致無法跟蹤哪些幀包含哪些腳本,隨著時間的推移,應(yīng)用程序會越來越難以維護(hù),因此,如果用戶要構(gòu)建較大的應(yīng)用程序或包含重要的ActionScript代碼時,建議在單
17、獨(dú)的ActionScript源文件(擴(kuò)展名為.as的文本文件)中編輯代碼。在Flash CS6中,創(chuàng)建ActionScript源文件的方法如下。步驟1 在Flash窗口中選擇“文件”|“新建”命令,打開“新建文檔”對話框。步驟2 在“常規(guī)”選項(xiàng)卡下的“類型”列表框中單擊“ActionScript 3.0類”選 項(xiàng),在“類名稱”文本框中輸入類名稱,再單擊“確定”按鈕,定義一個ActionScript類,如圖9-20所示。步驟3 接著即可像對任何內(nèi)置的ActionScript類一樣,在腳本編輯窗口中通過創(chuàng)建 該類的實(shí)例并使用它的屬性、方法和事件來訪問該類中的ActionScript代碼,如圖9-2
18、1所示。圖9-19 查看添加語句后的幀圖9-21 腳本編輯窗口圖9-20 定義一個ActionScript類屬性是對象的基本特征,如影片剪輯元件的位置、大小和透明度等,它表示某個對象中綁定在一起的若干數(shù)據(jù)塊中的一個。下面制作一個可以輸入數(shù)值控制影片剪輯屬性的動畫,在該動畫中應(yīng)用透明度屬性控制,具體操作步驟如下。步驟1 在Flash窗口中新建一個空白文檔,然后將需要的素材導(dǎo)入到庫中,如圖9-22所示。程序是電腦執(zhí)行的一系列步驟或指令。從概念上理解,可以認(rèn)為程序是一個很長的指令列表。但是在面向?qū)ο蟮木庉嬛?,程序指令被劃分到不同的對象中,?gòu)成代碼功能塊。而ActionScript就是一種面向?qū)ο蟮木?/p>
19、程語言,目前最高版本是3.0版。下面就來介紹如何使用ActionScript語句處理對象。圖9-23 創(chuàng)建影片剪輯元件圖9-22 導(dǎo)入需要的素材步驟2 按Ctrl+F8組合鍵打開“創(chuàng)建新元件”對話框,輸入元件名稱,并設(shè)置元件類型為“影片剪輯”,再單擊“確定”按鈕,如圖9-23所示。步驟3 從“庫”面板中拖動“海豚.png”文件到元件編輯窗口中,如圖9-24所示,再返回場景編輯窗口。步驟4 從“庫”面板中將“13.bmp”文件拖至舞臺中,并調(diào)整圖形的大小和位置,使其和舞臺重合,接著新建圖層2,如圖9-25所示。步驟5 鎖定圖層1,然后從“庫”面板中依次將“海豚剪輯”元件拖至舞臺中,接著在“屬性”
20、面板中將其名稱改為“ht”,如圖9-26所示。步驟6 新建圖層3,然后使用繪圖工具在舞臺中繪制粉紅色的心型圖形,接著在該圖上方添加“透明”文本,如圖9-27所示。圖9-24 編輯元件圖9-26 修改實(shí)例名稱圖9-25 設(shè)置動畫背景圖9-27 繪制心型圖形步驟7 使用矩形工具在舞臺中繪制一個筆觸顏色為“玫紅色”、填充顏色為“白色”的矩形,接著在工具箱中單擊“文本工具”圖標(biāo),在“屬性”面板中的“文本類型”下拉列表框中選擇“輸入文本”選項(xiàng),如圖9-28所示。步驟8 在矩形上方繪制一個略小于矩形的黑色文本框,并將其置于矩形中間位置,接著在“屬性”面板中設(shè)置其名稱為“c”,如圖9-29所示。圖9-28
21、設(shè)置文本類型圖9-29 繪制文本框步驟9 在菜單欄中選擇“窗口”|“公用庫”|“Buttons”命令,打開“公用庫”面板,如圖9-30所示。步驟10 選擇要使用的按鈕元件,將其拖至舞臺中,如圖9-31所示。步驟11 單擊按鈕元件實(shí)例,然后在“屬性”面板中調(diào)整實(shí)例大小,使其與矩形同高,再設(shè)置該實(shí)例名稱為“qr”,如圖9-32所示。步驟12 在圖層3中選擇第1幀,然后按F9鍵打開“動作”面板,接著在面板中輸入如圖9-33所示的代碼。圖9-30 打開“公用庫”面板圖9-31 選擇按鈕元件圖9-32 設(shè)置按鈕元件名稱圖9-33 “動作”面板從以上4條語句可以發(fā)現(xiàn)指定對象要進(jìn)行某動作時的結(jié)構(gòu)語法如下:對
22、象名稱(變量名).動作名();由此可見,指定對象操作和設(shè)置對象屬性非常相似,小括號中指定對象要執(zhí)行的動作的值,這些值稱為動作的參數(shù)。如果動作本身的意義非常明確,可以不需要額外指定動作參數(shù),但是書寫時仍然需要小括號。如前面4句中的play()動作和stop()動作,因自身的意義非常明確,可以不指定具體參數(shù);而gotoAndStop()動作和gotoAndPlay()動作就需要指定特定的幀。這里要介紹的事件是指所發(fā)生的、ActionScript能夠識別并可響應(yīng)的事情。許多事件與用戶設(shè)置的交互動作有關(guān),如用戶單擊按鈕或按鍵盤上的鍵等。無論編寫什么樣的事件處理代碼,都必須包括事件源、事件和響應(yīng)3個元素
23、,它們的含義分別如下。l 事件源:又稱“事件目標(biāo)”,指發(fā)生事件的對象,例如單擊replay按鈕,則replay按鈕就是事件源。l 事件:指將要發(fā)生的事情。對事件的識別非常重要,因?yàn)橐粋€對象有時會觸發(fā)多個事件。l 響應(yīng):指事件發(fā)生時執(zhí)行的操作。編寫事件代碼時,要遵循以下基本結(jié)構(gòu):function eventResponse(eventObject:EventType):void /響應(yīng)事件而執(zhí)行的動作eventSource.addEventListener(EventType.EVENT_NAME, eventResponse);在上述結(jié)構(gòu)中,加粗顯示的是占位符,用戶可以根據(jù)實(shí)際情況進(jìn)行改變。在
24、結(jié)構(gòu)中首先定義了一個函數(shù),eventResponse就是函數(shù)的名稱,eventObject是函數(shù)的參數(shù),EventType是該參數(shù)的類型,這與聲明變量類似。在大括號中是事件發(fā)生時執(zhí)行的指令。其次調(diào)用源對象的addEventListener()動作,表示當(dāng)事件發(fā)生時執(zhí)行該函數(shù)。本節(jié)將通過制作下雪效果動畫來幫助讀者進(jìn)一步加深對本章知識的掌握,具體操作步驟如下。步驟1 在Flash窗口中新建“下雪.fla”文件(文件大小為4000像素750像素),并在“時間軸”面板中重命名圖層1為“背景”, 如圖9-36所示。步驟2 在菜單欄中選擇“文件”|“導(dǎo)入”|“導(dǎo)入到庫”命令,彈出“導(dǎo)入到庫”對話框,選擇要
25、使用的圖片,再單擊“打開”按鈕,如圖9-37所示。圖9-36 新建“下雪.fla”文件圖9-37 “導(dǎo)入到庫”對話框圖9-39 對圖層1應(yīng)用“1.png”圖片圖9-38 對背景圖層應(yīng)用“背景”圖片步驟5 使用類似方法,在“時間軸”面板中依次新建圖層27,并從“庫”面板中將圖片27分別插入到各圖層中,再調(diào)整各圖片的大小和位置,最終效果如圖9-40所示。圖9-40 編輯其他圖片步驟3 從“庫”面板中拖動“背景”圖片到舞臺中,然后鎖定“背景”圖層,如 圖9-38所示。步驟4 在“時間軸”面板中新建圖層1,然后將“庫”面板中的“1.png”文件拖動到舞臺中,并調(diào)整圖片的位置,如圖9-39所示。圖9-3
26、4 打開動畫預(yù)覽窗口步驟13 關(guān)閉“動作”面板,按Ctrl+Enter組合鍵打開動畫預(yù)覽窗口,在文本框中輸入“20”,再單擊Enter按鈕,如圖9-34所示。步驟14 這時即可看到海豚實(shí)例的透明度改變了,如圖9-35所示。圖9-35 查看設(shè)置透明度后的效果在Flash中,如果用戶使用時間軸上的幾個關(guān)鍵幀和基本動畫制作了一個影片剪輯元件,可以對該對象進(jìn)行播放、停止或者指定它將播放頭移到特定的幀等動作。myFilm.play(); /指示名為myFilm的影片剪輯元件開始播放myFilm.stop(); /指示名為myFilm的影片剪輯元件停止播放myFilm.gotoAndStop(10);/指
27、示名為myFilm的影片剪輯元件將其播放頭移到第10幀,然后停止播放myFilm.goyoAndPlay(5); /指示名為myFilm的影片剪輯元件跳到第5幀開始播放步驟6 在“時間軸”面板中新建圖層8,然后在“庫”面板中選擇要使用的樹圖片,并將其拖動到舞臺中,再使用任意變形工具和選擇工具調(diào)整圖片的大小和位置,效果如 圖9-41所示。步驟7 按Ctrl+A組合鍵選擇舞臺中的所有圖片并右擊,在彈出的快捷菜單中選擇“轉(zhuǎn)換為元件”命令,如圖9-42所示。圖9-41 對圖層8應(yīng)用樹圖片圖9-42 選擇“轉(zhuǎn)換為元件”命令步驟8 彈出“轉(zhuǎn)換為元件”對話框,在“名稱”文本框中輸入元件名稱,并設(shè)置元件類型為
28、“圖形”,再單擊“確定”按鈕,如圖9-43所示。步驟9 在“時間軸”面板中將圖層8以外的圖層刪除,并重命名圖層8為“背景”。然后在“庫”面板中單擊“新建文件夾”圖標(biāo),新建“pic”文件夾,接著將導(dǎo)入的圖片移動到該文件夾中,如圖9-44所示。步驟10 在“屬性”面板中修改Flash文件的大小,將高度值調(diào)整為850,如圖9-45所示。步驟11 使用類似方法,在舞臺中添加其他樹木,效果如圖9-46所示。圖9-43 “轉(zhuǎn)換為元件”對話框圖9-44 使用文件夾管理導(dǎo)入到庫中的圖片步驟12 新建圖層3,然后將“雪花.png”文件拖至舞臺中,接著在“變形”面板中調(diào)整圖形大小,如圖9-47所示。步驟13 右擊
29、“雪花.png”文件,在彈出的快捷菜單中選擇“轉(zhuǎn)換為元件”命令,接著在彈出的對話框中設(shè)置元件參數(shù),再單擊“確定”按鈕,將圖片轉(zhuǎn)換為圖形元件,如圖9-48所示。圖9-45 調(diào)整文件高度圖9-46 添加其他樹木步驟14 按Ctrl+F8組合鍵打開“創(chuàng)建新元件”對話框,在此創(chuàng)建“snow”影片剪輯元件,如圖9-49所示。圖9-47 “變形”面板圖9-48 “轉(zhuǎn)換為元件”對話框步驟15 進(jìn)入“雪花”影片剪輯元件編輯窗格,將“雪”元件拖至舞臺中,接著在“變形”面板中按40%的比例縮放元件,如圖9-50所示。步驟16 在第15幀和第30幀位置處分別插入關(guān)鍵幀,接著右擊圖層1,在彈出的快捷菜單中選擇“添加傳
30、統(tǒng)運(yùn)動引導(dǎo)層”命令,如圖9-51所示。圖9-49 “創(chuàng)建新元件”對話框步驟17 使用繪圖工具在舞臺中繪制一段小弧線作為引導(dǎo)軌跡,如圖9-52所示。步驟18 在圖層1中選擇第1幀上的元件,按住中心點(diǎn)將其移動到引導(dǎo)線的起點(diǎn)上,如圖9-53所示。圖9-50 調(diào)整實(shí)例大小圖9-51 選擇“添加傳統(tǒng)運(yùn)動引導(dǎo)層”命令圖9-52 繪制弧線圖9-53 將元件實(shí)例移動到引導(dǎo)線起點(diǎn)上步驟19 在圖層1中選擇第15幀上的元件,按住中心點(diǎn)將其移動到引導(dǎo)線的終點(diǎn)上,如圖9-54所示。步驟20 在圖層1中選擇第30幀上的元件,按住中心點(diǎn)將其移動到引導(dǎo)線的起點(diǎn)上,接著在第1、15、30幀之間創(chuàng)建補(bǔ)間動畫,如圖9-55所示。
31、步驟21 返回場景,將舞臺中設(shè)計(jì)的雪景轉(zhuǎn)換為“雪景”影片剪輯元件,接著刪除“背景”圖層以外的圖層,接著在“背景”圖層中刪除第1幀上的關(guān)鍵幀,在第5幀處插入關(guān)鍵幀,并將“雪景”影片剪輯元件拖至舞臺中,布局雪景背景,如圖9-56所示。步驟22 調(diào)整Flash文件大小為800像素600像素,按文件高度調(diào)整“雪景”影片剪輯元件實(shí)例大小。步驟23 新建“雪”圖層,然后右擊第5幀,在彈出的快捷菜單中選擇“轉(zhuǎn)換為關(guān)鍵幀”命令,如圖9-57所示。圖9-54 將元件實(shí)例移動到引導(dǎo)線終點(diǎn)上圖9-55 創(chuàng)建補(bǔ)間動畫步驟24 將snow影片剪輯元件拖至舞臺的適合位置,并在“屬性”面板中設(shè)置實(shí)例名稱為“snowflak
32、e”,如圖9-58所示。步驟25 新建“進(jìn)度”圖層,然后將第5幀轉(zhuǎn)換為關(guān)鍵幀,接著使用矩形工具繪制一個2800像素500像素的白色長條,如圖9-59所示。步驟26 創(chuàng)建一個名為“滑塊”的影片剪輯元件,并進(jìn)入該元件編輯窗格,使用矩形工具繪制如圖9-60所示的圖形(填充顏色為#263E6F)。步驟27 新建“滑塊”圖層,然后將第5幀轉(zhuǎn)換為關(guān)鍵幀,接著將“滑塊”影片剪輯元件拖至舞臺中的長條上,位置如圖9-61所示。再在“屬性”面板中設(shè)置該實(shí)例名稱為“Scroller”。圖9-56 布局雪景背景圖9-57 選擇“轉(zhuǎn)換為關(guān)鍵幀”命令圖9-58 使用snow影片剪輯元件圖9-59 繪制長條圖9-60 編輯
33、“滑塊”影片剪輯元件圖9-61 使用“滑塊”影片剪輯元件步驟28 在“背景”圖層中選中第5幀上的實(shí)例,按F9鍵打開“動作”面板,輸入以下代碼,如圖9-62所示。onClipEvent(enterFrame) scrollPos = (_root.Scroller._x - 16) * 1.10803; if (scrollPos = 800) homeX = -1140; else homeX = scrollPos / 400 * -570; thisX = _x; diffX = homeX - thisX;圖9-62 在“背景”圖層中添加代碼 moveX = diffX / 2; _x
34、= thisX + moveX;步驟29 在“雪”圖層中選中第5幀上的實(shí)例,接著在“動作”面板中輸入以下代碼,如圖9-63所示。onClipEvent (load) if (this._name = snowflake) _parent.i = 0;/this._alpha = _parent.randRange (80, 100); this._width = _parent.randRange (3, 10);this._height = this._width;this._x = _parent.randRange (-100, _parent.mw + 100);this._y = _
35、parent.randRange (0, -20);speed = _parent.randRange (2, 10);this.cacheAsBitmap=true/+onClipEvent (enterFrame) if (this._name = snowflake) return;圖9-63 在“雪”圖層中添加代碼if (this._y _parent.mh ) _global.kar_adedi-;this.removeMovieClip ();return;import flash.display.BitmapData;import flash.geom.Rectangle;imp
36、ort flash.geom.Matrix;import flash.geom.Point;var currPoint:Point = new Point ();currPoint.x = this._x;currPoint.y = this._y;if (_root.outline_bmp.hitTest (_root.destPoint, 0, currPoint) var karmatrix1:Matrix = new Matrix ();var karmatrix2:Matrix = new Matrix ();karmatrix1.scale (this._xscale / 100,
37、 this._yscale / 100);var translateMatrix1:Matrix = new Matrix ();translateMatrix1.translate (this._x, this._y);karmatrix1.concat (translateMatrix1);_root.bitmap_1.draw (this, karmatrix1);karmatrix2.scale (this._xscale / 300, this._yscale / 300);var translateMatrix2:Matrix = new Matrix ();translateMa
38、trix2.translate (this._x, this._y);karmatrix2.concat (translateMatrix2);_root.outline_bmp.draw (this, karmatrix2);_global.kar_adedi-;this.removeMovieClip ();return;this._y += speed;this._x += _parent.interval - 3;步驟30 在“滑塊”圖層中選中第5幀上的實(shí)例,接著在“動作”面板中輸入以下代碼,如圖9-64所示。on(press) this.startDrag(false, 16, th
39、is._y, 800, this._y);on(release) this.stopDrag();on(releaseOutside) this.stopDrag();圖9-64 在“滑塊”圖層中添加代碼步驟31 新建圖層,然后將第5幀轉(zhuǎn)換為關(guān)鍵幀,接著打開“動作”面板,輸入以下代碼。var intID;_global.basladi = true;speed1 = .9;mw = 800;mh = 800;snowint = 60;_global.kar_adedi = 0;function randRange (min, max) var randomNum = Math.round (M
40、ath.random () * (max - min) + min;return randomNum;setInterval(CursorMovement, 500);function CursorMovement () mc._x = speed1 * (mc._x - _xmouse) + _xmouse;interval = (mc._x / mw * 6);function snow () if (!_global.basladi) return;if (i 500) i = 0;return;if (_global.kar_adedi 500) return;for (t = 0;
41、t 5; t+) i+;duplicateMovieClip (snowflake, snowflake + i, i);_global.kar_adedi += 5;intID = setInterval (snow, snowint);步驟32 再新建一圖層,然后選中第1幀,接著打開“動作”面板,輸入以下代碼。totalBytes = this.getBytesTotal();loadedBytes = this.getBytesLoaded();remainingBytes = totalBytes - loadedBytes;percentDone = int(loadedBytes
42、/ totalBytes * 100);bar.gotoAndStop(percentDone);if (_framesloaded = _totalframes) gotoAndPlay(3);步驟33 將第5幀轉(zhuǎn)換為關(guān)鍵幀,接著在“動作”面板輸入以下代碼。birdsclip.useHandCursor = false;clickbar.useHandCursor = false;foreground.lightroll.lightoverButton.useHandCursor = false;main.tabChildren = false;foreground.tabChildren
43、= false;clickbar.tabEnabled = false;left.tabEnabled = false;right.tabEnabled = false;birdsclip.tabChildren = false;MovieClip134.tabEnabled = false;SoundButton.tabEnabled = false;Scroller.tabEnabled = false;movOpen = 0;loadClick = 0;whoClick = ;stop();Color.prototype.setTint = function (r, g, b, amou
44、nt) var _reg2 = new Object(); _reg2.ra = _reg2.ga = _reg2.ba = 100 - amount; var _reg3 = amount / 100; _reg2.rb = r * _reg3; _reg2.gb = g * _reg3; _reg2.bb = b * _reg3; this.setTransform(_reg2);_root.musicStream.onSoundComplete = function () musicStream.start();步驟34 至此,該作品制作完成,按Ctrl+Enter組合鍵預(yù)覽動畫效果,如圖9-65所示。步驟35 使用鼠標(biāo)拖動滑塊,移動動畫背景圖形,如圖9-66所示。圖9-66 拖動滑塊圖9-65 預(yù)覽動畫效果
- 溫馨提示:
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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑施工重大危險(xiǎn)源安全管理制度
- 安全培訓(xùn)資料:典型建筑火災(zāi)的防治基本原則與救援技術(shù)
- 企業(yè)雙重預(yù)防體系應(yīng)知應(yīng)會知識問答
- 8 各種煤礦安全考試試題
- 9 危險(xiǎn)化學(xué)品經(jīng)營單位安全生產(chǎn)管理人員模擬考試題庫試卷附答案
- 加壓過濾機(jī)司機(jī)技術(shù)操作規(guī)程
- 樹脂砂混砂工藝知識總結(jié)
- XXXXX現(xiàn)場安全應(yīng)急處置預(yù)案
- 某公司消防安全檢查制度總結(jié)
- 1 煤礦安全檢查工(中級)職業(yè)技能理論知識考核試題含答案
- 4.燃?xì)獍踩a(chǎn)企業(yè)主要負(fù)責(zé)人模擬考試題庫試卷含答案
- 工段(班組)級安全檢查表
- D 氯化工藝作業(yè)模擬考試題庫試卷含答案-4
- 建筑起重司索信號工安全操作要點(diǎn)
- 實(shí)驗(yàn)室計(jì)量常見的30個問問答題含解析