版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章交互式動(dòng)畫(huà)和ActionScript程序設(shè)計(jì)
知識(shí)概述:
1.了解交互式動(dòng)畫(huà)就是用戶可以參與控制的動(dòng)畫(huà),用戶可以通過(guò)鼠標(biāo)操作或按鍵盤(pán)按鍵等操作,使動(dòng)畫(huà)畫(huà)面產(chǎn)生跳轉(zhuǎn)變化或者執(zhí)行一些動(dòng)作腳本(也叫程序)。動(dòng)作腳本是可以在動(dòng)畫(huà)運(yùn)行過(guò)程中起計(jì)算和控制作用的程序,它是使用ActionScript編程語(yǔ)言編寫(xiě)的。
2.了解“動(dòng)作”面板的特點(diǎn)和基本使用方法。了解各種事件的名稱(chēng)和含義。掌握動(dòng)作腳本在“動(dòng)作”面板中的編寫(xiě)方法。
3.了解ActionScript2.0的基本語(yǔ)法、常量、變量、注釋、運(yùn)算符、表達(dá)式、條件語(yǔ)句、循環(huán)語(yǔ)句、部分全局函數(shù),掌握程序設(shè)計(jì)的基本方法和基本技巧。
4.初步掌握ActionScript2.0類(lèi)中的數(shù)學(xué)(Math)對(duì)象的基本使用方法。6.1“動(dòng)作”面板和事件—【任務(wù)29】荷葉水珠【知識(shí)儲(chǔ)備】1.“動(dòng)作”面板特點(diǎn)“動(dòng)作”面板有3種:幀的“動(dòng)作-幀”面板、按鈕的“動(dòng)作-按鈕”面板和影片剪輯實(shí)例的“動(dòng)作-影片剪輯”面板。以后稱(chēng)“動(dòng)作”面板就是指這三種面板?!皠?dòng)作”面板是用來(lái)編寫(xiě)ActionScript程序的。單擊按下“動(dòng)作”面板內(nèi)的“腳本助手”按鈕,即可進(jìn)入“標(biāo)準(zhǔn)”模式?!皠?dòng)作”面板有三個(gè)區(qū)域:命令列表區(qū)、程序編輯區(qū)和位置列表區(qū)。下面以按鈕的“動(dòng)作-按鈕”面板為例(參看圖6-2),介紹其中一些選項(xiàng)的作用。(1)“標(biāo)簽”欄:?jiǎn)螕羲梢允埂皠?dòng)作”面板收縮或展開(kāi)。(2)位置列表區(qū):它也叫腳本導(dǎo)航器,它給出了當(dāng)前選擇的關(guān)鍵幀、按鈕或影片剪輯實(shí)例的有關(guān)信息(所在圖層、關(guān)鍵幀名稱(chēng)、按鈕和影片剪輯元件名稱(chēng)及實(shí)例名稱(chēng)等)。單擊選中該列表區(qū)中的幀、按鈕或?qū)嵗龑?duì)象,即可在程序編輯區(qū)內(nèi)顯示相應(yīng)的腳本程序。(3)“ActionScript版本選擇”下拉列表框:用來(lái)選擇ActionScript的版本。196
圖6-2“動(dòng)作-按鈕”面板
197
(4)命令列表區(qū):在選擇區(qū)內(nèi)有12個(gè)文件夾,和一個(gè)索引文件夾,單擊可以展開(kāi)文件夾。文件夾內(nèi)有下一級(jí)的文件夾或命令,雙擊命令或用鼠標(biāo)拖曳命令到程序編輯區(qū)內(nèi),都可以在程序區(qū)內(nèi)導(dǎo)入相應(yīng)的命令。這里所說(shuō)的命令是指程序中的運(yùn)算符號(hào)、函數(shù)、語(yǔ)句、屬性等的統(tǒng)稱(chēng)??梢酝ㄟ^(guò)單擊面板中間的、(或)按鈕來(lái)控制是否顯示命令列表區(qū)。也可以用鼠標(biāo)拖曳面板中間的豎條來(lái)調(diào)整命令列表區(qū)的大小。 右擊命令列表區(qū)內(nèi)的命令,會(huì)調(diào)出命令快捷菜單,單擊該菜單中的“查看幫助”菜單命令,可以調(diào)出該命令的幫助信息;單擊命令快捷菜單中的“添加到腳本”菜單命令,即可將右擊的命令添加到程序編輯區(qū)內(nèi),雙擊命令也可以命令添加到程序編輯區(qū)內(nèi)。 (5)程序編輯區(qū):是用來(lái)編寫(xiě)ActionScript程序的區(qū)域。在程序編輯區(qū)內(nèi),選中一段程序,右擊選中的程序,會(huì)彈出一個(gè)快捷菜單,利用快捷菜單命令可以編輯(復(fù)制、粘貼、刪除等)程序,添加和編輯程序的注釋等。 (6)命令提示欄:用來(lái)顯示程序編輯區(qū)內(nèi)當(dāng)前命令(即選中的命令)和它在的行號(hào)。 (7)輔助按鈕欄:輔助按鈕欄內(nèi)有一些按鈕,它們的作用如下。
198
◎“將新項(xiàng)目添加到腳本中”按鈕:?jiǎn)螕羲?,可以彈出如圖6-3所示的菜單,再單擊該菜單命令,即可將相應(yīng)的命令添加到程序編輯區(qū)內(nèi)?!颉皠h除所選動(dòng)作”按鈕:?jiǎn)螕羲?,可以刪除選中的語(yǔ)句行內(nèi)容?!颉罢Z(yǔ)法檢查”按鈕:?jiǎn)螕羲?,可以檢查程序是否存在語(yǔ)法錯(cuò)誤。如不正確,會(huì)顯示提示信息?!颉白詣?dòng)套用格式”按鈕:?jiǎn)螕羲梢允钩绦蛑械拿畎丛O(shè)置的格式重新調(diào)整。例
◎“查找”按鈕:?jiǎn)螕羲?,可以文本框?nèi)輸入要查找的字符串,再單圖6-3
命令菜單調(diào)出“查找”對(duì)話框,如圖6-4所示。在“查找內(nèi)容”擊“查找下一個(gè)”按鈕,即可選中程序中要查找的字
199
符串。單擊選中“區(qū)分大小寫(xiě)”復(fù)選框,則在查找時(shí)區(qū)分大小寫(xiě)。如果在“替換為”文本框內(nèi)輸入要替換的字符串,再單擊“替換”按鈕,可以替換剛剛找到的字符串,單擊“全部替換”按鈕,即可進(jìn)行所有查找到的字符串的替換?!颉安迦肽繕?biāo)路徑”按鈕:?jiǎn)螕羲?,可以調(diào)出“插入目標(biāo)路徑”對(duì)話框,如圖6-5所示。在該對(duì)話框中可以選擇路徑的方式、路徑的符號(hào)和對(duì)象的路徑??蓞⒖聪乱还?jié)介紹的內(nèi)容。圖6-4“查找”對(duì)話框◎“顯示代碼提示”按鈕:在當(dāng)前命令沒(méi)有設(shè)置好參數(shù)時(shí),單擊它會(huì)彈出一個(gè)參數(shù)(代碼)提示列表框,供用戶選擇參數(shù)。參數(shù)(代碼)提示列表框根據(jù)光標(biāo)定位的位置不同而不同,如圖6-6
200
所示。圖6-5“插入目標(biāo)路徑”對(duì)話框圖6-6代碼提示◎“調(diào)試選項(xiàng)”按鈕:?jiǎn)螕粼摪粹o,可以彈出一個(gè)用于調(diào)試程序的菜單,如圖6-7所示。單擊“切換斷點(diǎn)”菜單命令,可以將選中的命令行(沒(méi)有設(shè)置為斷點(diǎn))設(shè)置為斷點(diǎn)(該行左邊會(huì)顯示一個(gè)紅點(diǎn)),運(yùn)行程序后會(huì)在該行暫停。另外,單擊“切換斷點(diǎn)”菜單命令,還可以將選中的斷點(diǎn)行設(shè)置的斷點(diǎn)刪除。單擊“移除所有斷點(diǎn)”菜單命令,可以將設(shè)置的所有斷點(diǎn)刪除?!颉皫椭卑粹o:選中程序中的關(guān)鍵字,然后單擊該按鈕,可調(diào)出顯示相應(yīng)幫助的“幫助”面板。
201
◎“腳本助手”按鈕:?jiǎn)螕舭聪略摪粹o,可以使程序編輯區(qū)進(jìn)入具有腳本幫助的程序輸入狀態(tài)(參看后邊的內(nèi)容)。如果“腳本助手”按鈕腳本幫助的程序輸入狀態(tài),可以直接輸入程序。處于彈起的狀態(tài),程序編輯區(qū)進(jìn)入不具有圖6-7調(diào)試程序菜單
◎“折疊成對(duì)大括號(hào)”按鈕:將光標(biāo)定位在大括號(hào)內(nèi),單擊該按鈕,即可將大括號(hào)內(nèi)的程序折疊,如圖6-19左圖所示。單擊折疊程序左邊的圖標(biāo),可以展開(kāi)折疊的程序?!颉罢郫B所選”按鈕:選中一段程序,如圖6-8左圖所示,再單擊該按鈕,即可將選中的程序折疊,如圖6-8右圖所示。單擊折疊程序左邊的圖標(biāo),可以展開(kāi)折疊的程序。
202
圖6-8折疊程序(8)面板快捷菜單按鈕:?jiǎn)螕羲?,可以調(diào)出“動(dòng)作”面板的快捷菜單。其中一些菜單命令的作用與輔助按鈕欄按鈕的作用一樣,其他菜單命令的作用如下?!颉罢归_(kāi)全部”按鈕:?jiǎn)螕粼摪粹o,即可展開(kāi)所有折疊的程序?!颉皯?yīng)用塊注釋”按鈕:?jiǎn)螕粼摪粹o,可給選中的程序添加注釋。
◎“首選項(xiàng)”:?jiǎn)螕羲?,可調(diào)出“首選參數(shù)”(ActionScript)對(duì)話框,如圖6-9所示。利用它可以進(jìn)行動(dòng)作腳本的默認(rèn)狀態(tài)和參數(shù)的設(shè)置。 ◎“轉(zhuǎn)到行”:?jiǎn)螕羲蓮棾觥稗D(zhuǎn)到行”對(duì)話框,如圖6-10所示。在“行號(hào)”文本框內(nèi)輸入程序編輯區(qū)中的行號(hào),單擊“確定”按鈕,該行即被選中。
203
圖6-9“首選參數(shù)”(動(dòng)作腳本)對(duì)話框圖6-10“轉(zhuǎn)到行”對(duì)話框
◎“導(dǎo)入腳本”:?jiǎn)螕羲?,可調(diào)出“打開(kāi)”對(duì)話框。利用該對(duì)話框,可以從外部導(dǎo)入一個(gè)“*.as”的腳本程序文件,它是一個(gè)文本文件。
204
◎“導(dǎo)出腳本”:?jiǎn)螕羲?,可調(diào)出“另存為”對(duì)話框。利用該對(duì)話框,將當(dāng)前程序編輯區(qū)中的程序作為一個(gè)“*.as”的腳本程序文件保存?!颉按蛴 保?jiǎn)螕羲烧{(diào)出“打開(kāi)”對(duì)話框,將當(dāng)前程序編輯區(qū)中的程序打印出來(lái)?!颉癊sc快捷鍵”:?jiǎn)螕暨x中它,可使命令列表區(qū)內(nèi)各命令右邊顯示它的快捷鍵。2.幀的事件與動(dòng)作交互式動(dòng)畫(huà)的一個(gè)行為包含了兩個(gè)內(nèi)容,一個(gè)是事件,一個(gè)是事件產(chǎn)生時(shí)所執(zhí)行的動(dòng)作。事件是觸發(fā)動(dòng)作的信號(hào),動(dòng)作是事件的結(jié)果。播放指針到達(dá)某個(gè)指定的關(guān)鍵幀、用戶單擊按鈕或影片剪輯元件、用戶按下了鍵盤(pán)按鍵等操作,都可以觸發(fā)事件??梢哉J(rèn)為動(dòng)作是由一系列的語(yǔ)句組成的程序。最簡(jiǎn)單的動(dòng)作是使播放的動(dòng)畫(huà)停止播放,使停止播放的動(dòng)畫(huà)重新播放等。事件的設(shè)置與動(dòng)作的設(shè)計(jì)是通過(guò)“動(dòng)作”面板來(lái)完成的。幀事件就是當(dāng)動(dòng)畫(huà)或影片剪輯播放到某一幀時(shí)的事件。注意:只有關(guān)鍵幀才能設(shè)置事件。(1)在時(shí)間軸中,單擊選中第30幀單元格,按F6鍵,將該幀設(shè)置為關(guān)鍵幀。(2)選中該關(guān)鍵幀單元格,單擊“窗口”→“動(dòng)作”菜單命令,調(diào)出“動(dòng)作-幀”面板。205
(3)將“動(dòng)作-幀”面板左邊命令列表區(qū)內(nèi)“全局函數(shù)”→“時(shí)間軸控制”目錄下的“stop();”命令選項(xiàng)拖曳到右邊程序編輯區(qū)內(nèi)。此時(shí),“動(dòng)作-幀”面板如圖6-11所示。圖6-11“動(dòng)作-幀”面板
206
3.按鈕和按鍵的事件與動(dòng)作 單擊選中舞臺(tái)工作區(qū)內(nèi)的一個(gè)按鈕實(shí)例,“動(dòng)作”面板即可變?yōu)椤皠?dòng)作-按鈕”面板。 將“動(dòng)作-按鈕”面板左邊命令列表區(qū)內(nèi)“全局函數(shù)”→“影片剪輯控制”目錄下的on命令拖曳到右邊程序編輯區(qū)內(nèi)。這時(shí)程序編輯區(qū)內(nèi)會(huì)彈出如圖6-6所示的參數(shù)(代碼)提示列表框。雙擊其中的選項(xiàng),可以在on命令的括號(hào)內(nèi)加入按鈕事件與按鍵事件命令。例如,雙擊press命令后,程序編輯區(qū)內(nèi)的程序如圖6-12所示。在press命令右邊輸入英文字符“,”后,即可調(diào)出如圖6-6所示的參數(shù)(代碼)提示列表框,雙擊其中的keyPress"<Down>"命令,即可再加入按鍵事件命令。此時(shí),程序編輯區(qū)內(nèi)的程序如圖6-13所示。圖6-12雙擊press命令效果圖6-13加入按鍵命令效果207
(1)press(按):當(dāng)鼠標(biāo)指針移到按鈕之上,并單擊按下鼠標(biāo)左鍵時(shí)觸發(fā)事件。(2)release(釋放):當(dāng)鼠標(biāo)指針移到按鈕之上,單擊后松開(kāi)鼠標(biāo)左鍵時(shí)觸發(fā)事件。(3)releaseOutside(外部釋放):當(dāng)鼠標(biāo)指針移到按鈕之上,并單擊按下鼠標(biāo)左鍵,不松開(kāi)鼠標(biāo)左鍵,將鼠標(biāo)指針移出按鈕范圍,再松開(kāi)鼠標(biāo)左鍵時(shí)觸發(fā)事件。(4)rollOver(滑過(guò)):當(dāng)鼠標(biāo)指針由按鈕外面,移到按鈕內(nèi)部時(shí)觸發(fā)事件。(5)rollOut(滑離):當(dāng)鼠標(biāo)指針由按鈕內(nèi)部,移到按鈕外邊時(shí)觸發(fā)事件。(6)dragOver(拖過(guò)):當(dāng)鼠標(biāo)指針移到按鈕之上,并單擊按下鼠標(biāo)左鍵,不松開(kāi)鼠標(biāo)左鍵,然后將鼠標(biāo)指針拖曳出按鈕范圍,接著再拖曳回按鈕之上時(shí)觸發(fā)事件。(7)dragOut(拖離):當(dāng)鼠標(biāo)指針移到按鈕之上,并單擊按下鼠標(biāo)左鍵,不松開(kāi)鼠標(biāo)左鍵,然后把鼠標(biāo)指針拖曳出按鈕范圍時(shí)觸發(fā)事件。(8)keyPress"<按鍵名稱(chēng)>"(按鍵):當(dāng)鍵盤(pán)的指定按鍵被按下時(shí),觸發(fā)事件。在on括號(hào)內(nèi)輸入多個(gè)事件命令,事件命令之間用逗號(hào)分隔,這樣在這幾個(gè)事件中的任意一個(gè)發(fā)生時(shí)都會(huì)產(chǎn)生事件,觸發(fā)動(dòng)作的執(zhí)行。動(dòng)作腳本程序?qū)懺诖罄ㄌ?hào)內(nèi)。208
用鼠標(biāo)將“動(dòng)作-按鈕”面板左邊命令列表區(qū)內(nèi)“全局函數(shù)”→“影片剪輯控制”目錄下的on命令拖曳到右邊程序編輯區(qū)內(nèi)后,“動(dòng)作-按鈕”面板如圖6-14所示。選中一條語(yǔ)句后,參數(shù)設(shè)置區(qū)內(nèi)會(huì)顯示出相關(guān)的參數(shù)選項(xiàng),可以方便地選擇一個(gè)或多個(gè)按鈕事件。這對(duì)于初學(xué)者非常適用。圖6-14“動(dòng)作-按鈕”面板
209
,即4.影片剪輯元件的事件與動(dòng)作在舞臺(tái)中的影片剪輯實(shí)例是可以通過(guò)鼠標(biāo)、鍵盤(pán)、幀等的觸發(fā)而產(chǎn)生事件的,并通過(guò)事件來(lái)執(zhí)行一系列動(dòng)作(即程序)。選中舞臺(tái)工作區(qū)內(nèi)的影片剪輯實(shí)例,調(diào)出“動(dòng)作-影片剪輯”面板。這個(gè)面板與“動(dòng)作-幀”面板和“動(dòng)作-按鈕”面板的使用方法基本一樣。用鼠標(biāo)將“動(dòng)作-影片剪輯”面板左邊命令列表區(qū)內(nèi)“全局函數(shù)”→“影片剪輯控制”目錄下的“onClipEvent”命令拖曳到右邊程序編輯區(qū)內(nèi)。這時(shí)面板右邊程序編輯區(qū)內(nèi)會(huì)彈出有影片剪輯實(shí)例事件命令的參數(shù)(代碼)提示列表框,如圖6-15所示。雙擊該菜單中的選項(xiàng),可以在onClipEvent命令的括號(hào)內(nèi)加入影片剪輯實(shí)例事件命令。例如,雙擊load命令后,程序編輯區(qū)內(nèi)的程序如圖6-16所示。在press命令右邊輸入英文字符“,”后,單擊輔助按鈕欄內(nèi)的“顯示代碼提示”按鈕可調(diào)出如圖6-15所示的有影片剪輯實(shí)例事件命令的參數(shù)(代碼)提示列表框,雙擊其內(nèi)的keyDown命令,即可再加入相應(yīng)的事件命令,如圖6-17所示。可見(jiàn)影片剪輯實(shí)例可以響應(yīng)兩個(gè)或多個(gè)事件命令。210
圖6-15影片剪輯實(shí)例事件圖6-16加入load參數(shù)圖6-17再加入keyDown參數(shù)
影片剪輯實(shí)例事件(“onClipEvent()”句柄)可以設(shè)置以下9種不同的事件。(1)load(加載):當(dāng)影片剪輯元件下載到舞臺(tái)中的時(shí)候產(chǎn)生事件。(2)enterFrame(進(jìn)入幀):當(dāng)導(dǎo)入幀的時(shí)候產(chǎn)生事件。(3)unload(卸載):當(dāng)影片剪輯元件從舞臺(tái)中被卸載的時(shí)候產(chǎn)生事件。(4)mouseDown(鼠標(biāo)按下):當(dāng)鼠標(biāo)左鍵按下時(shí)產(chǎn)生事件。(5)mouseUp(鼠標(biāo)彈起):當(dāng)鼠標(biāo)左鍵釋放時(shí)產(chǎn)生事件。(6)mouseMove(鼠標(biāo)移動(dòng)):當(dāng)鼠標(biāo)在舞臺(tái)中移動(dòng)時(shí)產(chǎn)生事件。(7)keyDown(向下鍵):當(dāng)鍵盤(pán)的某個(gè)鍵按下時(shí)產(chǎn)生事件。(8)keyUp(向上鍵):當(dāng)鍵盤(pán)的某個(gè)按鍵釋放時(shí)產(chǎn)生事件。
211
“
(9)data(數(shù)據(jù)):當(dāng)LoadVariables或者LoadMovie收到了數(shù)據(jù)變量時(shí)產(chǎn)生事件。 在具有腳本幫助的狀態(tài)下,用鼠標(biāo)將“動(dòng)作-影片剪輯”面板左邊命令列表區(qū)內(nèi)“全局函數(shù)”→“影片剪輯控制”目錄下的onClipEvent命令拖曳到右邊程序編輯區(qū)內(nèi),動(dòng)作-影片剪輯”面板如圖6-18所示??梢苑奖愕剡x擇一個(gè)或多個(gè)影片剪輯事件。圖6-18“動(dòng)作-影片剪輯”面板
212
6.2“時(shí)間軸控制”全局函數(shù)—【任務(wù)30】圖像瀏覽器1【知識(shí)儲(chǔ)備】1.“時(shí)間軸控制”全局函數(shù)函數(shù)是完成一些特定任務(wù)的程序,通過(guò)定義函數(shù),就可以在程序中通過(guò)調(diào)用這些函數(shù)來(lái)完成具體的任務(wù)。函數(shù)有利于程序的模塊化。FlashCS3提供了大量的函數(shù),這些函數(shù)可以從“動(dòng)作”面板命令列表區(qū)的“全局函數(shù)”目錄下找到。對(duì)于ActionScript2.0版本,“時(shí)間軸控制”函數(shù)是全局函數(shù)中的一類(lèi),它由9個(gè)函數(shù)組成,在“全局函數(shù)”→“時(shí)間軸控制”目錄下可以找到。該函數(shù)的功能如表6-1所示。2.點(diǎn)操作符和_root、_parent、this關(guān)鍵字(1)點(diǎn)操作符:在ActionScript中,點(diǎn)操作符“.”通常被用來(lái)指定一個(gè)對(duì)象或影片剪輯實(shí)例有關(guān)系的屬性和方法。它也通常被用來(lái)標(biāo)識(shí)一個(gè)影片剪輯實(shí)例或者變量的目標(biāo)地址。點(diǎn)操作符的左邊是對(duì)象或者影片剪輯實(shí)例的名稱(chēng),點(diǎn)操作符的右邊是它們的屬性或者方法。例如:在主場(chǎng)景的舞臺(tái)工作區(qū)中放入一個(gè)影片剪輯實(shí)例A,影片剪輯實(shí)例A中有影片剪輯實(shí)例B。如果在主場(chǎng)景中指示影片剪輯213
實(shí)例A,則路徑可寫(xiě)成A;如果在主場(chǎng)景指示影片剪輯實(shí)例B,路徑可以寫(xiě)成A.B(使用了點(diǎn)運(yùn)算符連結(jié)兩個(gè)影片剪輯實(shí)例);如果在影片剪輯實(shí)例A中指示影片剪輯實(shí)例B,路徑可寫(xiě)成B。(2)_root關(guān)鍵字:指主場(chǎng)景。使用它來(lái)創(chuàng)建絕對(duì)路徑。在動(dòng)畫(huà)的任何位置都可以利用這個(gè)關(guān)鍵字來(lái)指示主場(chǎng)景中的某個(gè)對(duì)象。例如:在主場(chǎng)景第1幀定義并賦值了一個(gè)變量A,然后在任何的影片剪輯元件中,都可以采用“_root.A”來(lái)使用這個(gè)變量。又如:在主場(chǎng)景的舞臺(tái)工作區(qū)中加入一個(gè)影片剪輯實(shí)例,實(shí)例名稱(chēng)為“對(duì)象1”,而且這個(gè)影片剪輯元件內(nèi)時(shí)間軸上的第1幀定義了一個(gè)變量B,那么可以采用“_root.對(duì)象1.B”來(lái)使用這個(gè)變量。如果影片剪輯實(shí)例或變量ab1位于影片剪輯實(shí)例B的舞臺(tái)工作區(qū)中,在任何地方調(diào)用影片剪輯實(shí)例或變量ab1時(shí),都可以使用_root.A.B.ab1。這里要特別說(shuō)明一下,在主場(chǎng)景中,如果舞臺(tái)工作區(qū)中的某個(gè)影片剪輯實(shí)例上加有程序命令“onMovieClip()”,那么在調(diào)用主場(chǎng)景某幀中的變量時(shí),應(yīng)使用_root。(3)_parent關(guān)鍵字:指父一級(jí)對(duì)象。它指定的是一種相對(duì)路徑。當(dāng)把新建的一個(gè)影片剪輯實(shí)例放入到另一個(gè)影片剪輯實(shí)例的舞臺(tái)工作區(qū)時(shí),被放入的影片剪輯實(shí)例就是“子”,承載對(duì)象的影片剪輯實(shí)例就是父。例如:前面提到的影片剪輯實(shí)例A中有影片剪輯實(shí)例B,那么A就相對(duì)于B來(lái)說(shuō)是“父”,214
B相對(duì)于A來(lái)說(shuō)是“子”。如果在影片剪輯實(shí)例B中調(diào)用影片剪輯實(shí)例A的ab1變量或?qū)嵗龑?duì)象,可使用_parent.ab1。在編輯影片剪輯實(shí)例B的時(shí)候,如果想從第1幀開(kāi)始播放影片剪輯實(shí)例A,則使用的命令是“_parent.gotoAndPlay(1)”。(4)this關(guān)鍵字:指示當(dāng)前影片剪輯實(shí)例和變量。它指定的是一種相對(duì)路徑。例如:“this.ab1”就是指當(dāng)前影片剪輯實(shí)例內(nèi)的影片剪輯實(shí)例或變量ab1。在影片剪輯實(shí)例A中,如果想調(diào)用影片剪輯實(shí)例B本身的語(yǔ)句或者變量、屬性等,可以使用“this”。6.3ActionScript基本語(yǔ)法—【任務(wù)31】圖像瀏覽器2【知識(shí)儲(chǔ)備】ActionScript編程語(yǔ)言與Java語(yǔ)言基本一樣,也具有語(yǔ)法規(guī)則,其結(jié)構(gòu)與JavaScript語(yǔ)言結(jié)構(gòu)基本相同。1.常量、變量和注釋?zhuān)?)常量:它是程序運(yùn)行中不改變的量。常量有三種,它們的特點(diǎn)如下。215
◎數(shù)值型:就是具體的數(shù)值。例如:2010、18和6.8等?!蜃址停河靡?hào)括起來(lái)的一串字符。例如:“FlashCS3”和“奧運(yùn)北京2008”等?!蜻壿嬓停河糜谂袛鄺l件是否成立。True或“1”表示真(成立),F(xiàn)alse或“0”表示假(不成立)。(2)變量:它可以賦值一個(gè)數(shù)值、字符串、布爾值、對(duì)象等。而且,還可以為變量賦一個(gè)Null值,即空值。數(shù)值型變量都是雙精度浮點(diǎn)型。不必明確地指出或定義變量的類(lèi)型,F(xiàn)lash會(huì)在變量賦值的時(shí)候自動(dòng)決定變量的類(lèi)型。在表達(dá)式中,F(xiàn)lash會(huì)根據(jù)表達(dá)式的需要自動(dòng)改變數(shù)據(jù)的類(lèi)型?!蜃兞康拿?guī)則:變量的開(kāi)頭字符必須是字母、下劃線或美元符號(hào),后續(xù)字符可以是字母、數(shù)字等,但不能是空格、句號(hào)、保留字(即關(guān)鍵字,它是ActionScript語(yǔ)言保留的一些標(biāo)示符,例如:play、stop、int等)和邏輯常量等字符。注意:FlashCS3和Flash8一樣,區(qū)分變量名和命令中的大小寫(xiě)?!蜃兞康淖饔梅秶唾x值:變量分為全局變量和局部變量,全局變量可以在時(shí)間軸的所有幀中共享,而局部變量只在一段程序(大括弧內(nèi)的程序)內(nèi)起作用。如果使用了全局變量,一些外部的函數(shù)將有可能通過(guò)函數(shù)改變變量的值??梢允褂胿ar命令定義局部變量,例如:varab1=“奧運(yùn)北京”。216
可在使用setvariable命令或者使用賦值號(hào)“=”運(yùn)算符給變量賦值時(shí),定義一個(gè)全局變量?!驕y(cè)試變量的值:可以通過(guò)“動(dòng)作”面板中的命令列表區(qū)內(nèi)的“全局函數(shù)”→“其他函數(shù)”目錄中的trace函數(shù),將變量的值傳遞給“輸出”窗口,在該窗口中顯示變量的值。該函數(shù)的格式是trace(表達(dá)式)。其中的表達(dá)式可以是常量、變量、函數(shù)和表達(dá)式。例如:在某動(dòng)畫(huà)第1幀加入如下程序。n="ABCDEF";trace(n);trace("ABCDEFGHIJK");trace("ABCDEFGHIJK"+n);運(yùn)行程序,“輸出”面板的顯示如圖6-34所示。圖
6-34
“輸出”面板217
,(3)注釋?zhuān)簽榱藥椭喿x程序,可在腳本程序中加入注釋內(nèi)容。注釋語(yǔ)句在程序運(yùn)行中是不執(zhí)行的?!騿涡凶⑨尫?hào)“//”:用來(lái)注釋一行語(yǔ)句。在要注釋的語(yǔ)句右邊加入注釋符號(hào)“//”,在“//”注釋符號(hào)的右邊加入注釋內(nèi)容,構(gòu)成注釋語(yǔ)句?!蚨嘈凶⑨尫?hào)“/*”和“*/”:如果要加多行注釋內(nèi)容,可在開(kāi)始處加入“/*”注釋符號(hào),在結(jié)束處加入“*/”注釋符號(hào),構(gòu)成注釋語(yǔ)句。2.運(yùn)算符和表達(dá)式運(yùn)算符是能夠提供對(duì)常量與變量進(jìn)行運(yùn)算的元件。表達(dá)式是用運(yùn)算符將常量、變量和函數(shù)以一定的運(yùn)算規(guī)則組織在一起的式子。表達(dá)式可分為三種:算術(shù)表達(dá)式、字符串表達(dá)式和邏輯表達(dá)式。在FlashCS3的表達(dá)式中,同級(jí)運(yùn)算按照從左到右的順序進(jìn)行。使用運(yùn)算符可以在“動(dòng)作”面板程序編輯區(qū)內(nèi)直接輸入。也可以在“動(dòng)作”面板命令列表區(qū)的“運(yùn)算符”目錄下找到。也可以單擊“動(dòng)作”面板內(nèi)輔助按鈕欄中的“將新項(xiàng)目添加到腳本中”按鈕調(diào)出命令菜單,再在該菜單內(nèi)的“運(yùn)算符”目錄中找到。常用的運(yùn)算符及其含義如表6-2所示。218
列表框
3.文本類(lèi)型 文本有靜態(tài)文本、動(dòng)態(tài)文本和輸入文本三種類(lèi)型。利用文本的“屬性”面板內(nèi)的“文本類(lèi)型”下拉 ,可以選擇文本的類(lèi)型。選擇“動(dòng)態(tài)文本”選項(xiàng)時(shí)的“屬性”面板如圖6-35所示,選擇“輸入文本”選項(xiàng)時(shí)的“屬性”面板如圖6-36所示。 文本“屬性”面板中一些前面沒(méi)有介紹過(guò)的部分選項(xiàng)的作用。
圖6-35(1)“線條類(lèi)型”列表框選擇“動(dòng)態(tài)文本”選項(xiàng)時(shí)的“屬性”面板 :對(duì)于動(dòng)態(tài)文本,其中有3個(gè)選項(xiàng):“單行”(動(dòng)畫(huà)播放后,只可以輸入一行字符)、“多行”(動(dòng)畫(huà)播放后,輸入字符時(shí)可以自動(dòng)換行的多行)和“多行不換行”(動(dòng)畫(huà)播放后,不能夠自動(dòng)換行的多行)。對(duì)于輸入文本,其中有四個(gè)選項(xiàng),增加了“密碼”
219
選項(xiàng)。選擇了“密碼”選項(xiàng)后,輸入的字符用字符“*”代替。圖6-36選擇“輸入文本”選項(xiàng)時(shí)的“屬性”面板(2)“在文本周?chē)@示邊框”按鈕:選中后,文本周?chē)芯匦芜吙蚓€。(3)“可選”按鈕:?jiǎn)螕舭聪滤?,允許用拖曳選擇文本,以進(jìn)行復(fù)制、剪貼等編輯。該按鈕只有在動(dòng)態(tài)和靜態(tài)文本狀態(tài)下有效。 (4)“最多字符數(shù)”文本框:只在輸入文本狀態(tài)下有效,可輸入文本中允許的最多文字?jǐn)?shù)量。如果是0,則表示輸入的文本沒(méi)有限制。 (5)“實(shí)例名稱(chēng)”:用來(lái)輸入文本框的實(shí)例名稱(chēng)。
220
(6)“變量”文本框:用來(lái)輸入文本框的變量名稱(chēng)。(7)“嵌入”按鈕:?jiǎn)螕羲?,?huì)調(diào)出“字符嵌入”對(duì)話框,如圖6-37所示。圖
6-37
“字符嵌入”對(duì)話框221
4.if語(yǔ)句【格式1】if(條件表達(dá)式){
語(yǔ)句體} 【功能】如果條件表達(dá)式的值為true,則執(zhí)行語(yǔ)句體;如果條件表達(dá)式的值為false,則跳到if語(yǔ)句,繼續(xù)執(zhí)行后面的語(yǔ)句。【格式2】if(條件表達(dá)式){
語(yǔ)句體1 }else{
語(yǔ)句體2 }【功能】如果條件表達(dá)式的值為true,則執(zhí)行語(yǔ)句體1;否則執(zhí)行語(yǔ)句體2?!靖袷?】if(條件表達(dá)式1){
語(yǔ)句體1222
}elseif(條件表達(dá)式2){語(yǔ)句體2}【功能】如果條件表達(dá)式1的值為true,則執(zhí)行語(yǔ)句體1。如果條件表達(dá)式1的值為false,則判斷條件表達(dá)式2的值。如果其值為true,則執(zhí)行語(yǔ)句體2;如果其值為false,則退出if語(yǔ)句,繼續(xù)執(zhí)行if后面的語(yǔ)句。6.4“影片剪輯控制”全局函數(shù)—【任務(wù)32】星星跟我行【知識(shí)儲(chǔ)備】1.“影片剪輯控制”全局函數(shù)“影片剪輯控制”全局函數(shù)的格式與功能如表6-3所示。小提示:FlashCS3層次結(jié)構(gòu)的最底層是場(chǎng)景,一個(gè)影片可有多個(gè)場(chǎng)景,每個(gè)場(chǎng)景都是一個(gè)獨(dú)立的動(dòng)畫(huà),可以設(shè)置場(chǎng)景的動(dòng)畫(huà)播放順序。每一個(gè)場(chǎng)景的結(jié)構(gòu)都是一樣的。每一個(gè)舞臺(tái)工作區(qū)可以由許多圖層(Layer)組成,每一個(gè)圖層中的關(guān)鍵幀可以由許多層(Level)組成,層類(lèi)似于在制作動(dòng)畫(huà)時(shí)的223
圖層,但它與圖層并不是一個(gè)概念。每一個(gè)層的上面可以放置不同的影片剪輯元件。層是有嚴(yán)格的順序的,最底下的層是“層0”,其上面的層是“層1”,依次向上,如圖6-40所示。圖
6-40
層(Level)的結(jié)構(gòu)在每一個(gè)層上最多只能放置一個(gè)實(shí)例對(duì)象,如果將實(shí)例對(duì)象放置到有對(duì)象的層上,原有對(duì)象會(huì)被新的對(duì)象所替換。每一個(gè)影片剪輯元件的舞臺(tái)工作區(qū)中,也都是由場(chǎng)景和層組成。224
各個(gè)場(chǎng)景之間是無(wú)法實(shí)現(xiàn)實(shí)例對(duì)象的互相調(diào)用的,所以在制作交互動(dòng)畫(huà)的時(shí)候,盡量使用一個(gè)獨(dú)立的場(chǎng)景進(jìn)行編程。2.for循環(huán)語(yǔ)句(1)格式:for(init;condition;next){語(yǔ)句體;}(2)功能:for括號(hào)內(nèi)由三部分組成,每部分都是表達(dá)式,分別用分號(hào)隔開(kāi),其含義如下。init用于初始化一個(gè)變量,它可以是一個(gè)表達(dá)式,也可以是用逗號(hào)分隔的多個(gè)表達(dá)式。init總是只執(zhí)行一次,即第一次執(zhí)行for語(yǔ)句時(shí)最先執(zhí)行它。condition用于for語(yǔ)句的條件測(cè)試,它可以是一個(gè)條件表達(dá)式,當(dāng)表達(dá)式的值為false時(shí)結(jié)束循環(huán)。在每次執(zhí)行完語(yǔ)句體時(shí)執(zhí)行next,它可以是一個(gè)表達(dá)式,一般用于計(jì)數(shù)循環(huán)。舉例如下。varsum=0;varx;for(x=1;x<=200;x++){sum=sum+x;}225
trace(sum);//該程序用于計(jì)算1到200的和3.while循環(huán)語(yǔ)句(1)while循環(huán)語(yǔ)句:格式:while(條件表達(dá)式){語(yǔ)句體}功能:當(dāng)條件表達(dá)式的值為true時(shí),執(zhí)行語(yǔ)句體,再返回while語(yǔ)句;否則執(zhí)行語(yǔ)句體后退出循環(huán)。(2)dowhile循環(huán)語(yǔ)句:格式:do{語(yǔ)句體}while(條件表達(dá)式)功能:當(dāng)條件表達(dá)式的值為true時(shí),執(zhí)行語(yǔ)句體,再返回do語(yǔ)句,否則退出循環(huán)。226
4.break和continue語(yǔ)句(1)break語(yǔ)句:它經(jīng)常在循環(huán)語(yǔ)句中使用,用于強(qiáng)制退出循環(huán)。例如:varcount=0;while(count<200){count++;if(count=66){break;}
}//結(jié)束循環(huán),本程序運(yùn)行后,count的值為66(2)continue語(yǔ)句:強(qiáng)制循環(huán)回到開(kāi)始處。例如:varsum=0;varx=0while(x<=200){x++;if((x%7)==0){continue;}sum=sum+x;}//計(jì)算200以?xún)?nèi)的不能被7整除的數(shù)的和5.getTimer函數(shù)【格式】getTimer();227
【功能】返回影片播放后所經(jīng)過(guò)的時(shí)間。單位為毫秒。6.5Number函數(shù)和數(shù)學(xué)對(duì)象—【任務(wù)33】雪花飄飄【知識(shí)儲(chǔ)備】1.Number函數(shù)Number函數(shù)屬于轉(zhuǎn)換函數(shù),它在“動(dòng)作”面板命令列表區(qū)的“全局函數(shù)”→“轉(zhuǎn)換函數(shù)”目錄下?!靖袷健縉umber(expression);【功能】將expression的值轉(zhuǎn)換為數(shù)值。如果它為邏輯值,當(dāng)其值為true時(shí),則返回1,否則返回0。如果它為字符串,則會(huì)嘗試將該字符串轉(zhuǎn)換為指數(shù)形式的十進(jìn)制數(shù)字,例如:5.125e-12。如果expression為未定義的變量(undefined),則返回0(對(duì)于Flash6以前版本);或者為NaN(對(duì)于Flash7以后版本)。該參數(shù)可以是字符串、數(shù)字、邏輯值、變量或表達(dá)式。2.?dāng)?shù)學(xué)(Math)對(duì)象在面向?qū)ο蟮木幊讨?,?duì)象是屬性和方法的集合,程序是由對(duì)象組成的。FlashCS3中有許多類(lèi)228
對(duì)象,其中使用較多的是數(shù)學(xué)(Math)對(duì)象。關(guān)于對(duì)象的有關(guān)知識(shí)和它的其他類(lèi)對(duì)象,是下一章講述的內(nèi)容,此處只介紹數(shù)學(xué)(Math)對(duì)象。Math類(lèi)對(duì)象是一個(gè)頂級(jí)類(lèi)對(duì)象,不必使用構(gòu)造函數(shù)即可使用其方法和屬性,使用此類(lèi)的方法和屬性可以訪問(wèn)和處理數(shù)學(xué)函數(shù)。對(duì)于ActinScript2.0類(lèi)型,數(shù)學(xué)(Math)對(duì)象的常用方法在“動(dòng)作”面板內(nèi)命令列表區(qū)中的“ActinScript2.0類(lèi)”→“核心”→“Math”→“方法”目錄下。數(shù)學(xué)(Math)對(duì)象常用方法的格式和功能如表6-5所示。數(shù)學(xué)對(duì)象不需要實(shí)例化,其方法可以像使用一般函數(shù)那樣來(lái)使用(注意前面應(yīng)加“Math.”)。6.6setMask和加載文件函數(shù)—【任務(wù)34】圖像瀏覽器3【知識(shí)儲(chǔ)備】1.setMask函數(shù)【格式】myMovieClip.setMask(maskMovieClip)【功能】用來(lái)指定一個(gè)影片剪輯實(shí)例對(duì)象為另一個(gè)影片剪輯實(shí)例對(duì)象的遮罩。其中,myMovieClip是作為被遮罩的影片剪輯實(shí)例對(duì)象的名稱(chēng),maskMovieClip是作為遮罩的影片剪輯實(shí)例對(duì)象的名稱(chēng)。229
【說(shuō)明】setMask方法可以指定一個(gè)包含多個(gè)幀和多重圖層的影片剪輯實(shí)例對(duì)象作為遮罩。在時(shí)間軸上面,利用遮罩圖層可以對(duì)多個(gè)圖層進(jìn)行遮罩效果,但是無(wú)法使用setMask方法對(duì)多個(gè)圖層進(jìn)行遮罩效果。如果在作為遮罩的影片剪輯實(shí)例對(duì)象中有文字,它們?nèi)匀粫?huì)顯示出來(lái),不產(chǎn)生遮罩效果。如果要取消遮罩效果,可以再使用一次setMask方法,括號(hào)中的參數(shù)為null。關(guān)于影片剪輯實(shí)例對(duì)象的其他一些方法,將在下一章介紹。2.loadMovie函數(shù)【格式】loadMovie("url",target[,method])【功能】用來(lái)從當(dāng)前播放的影片外部加載SWF影片到指定的位置。【參數(shù)】url:被加載的外部SWF文件或JPEG文件的絕對(duì)或相對(duì)的URL路徑,相對(duì)路徑必須相對(duì)于級(jí)別0處的SWF文件。絕對(duì)URL必須包括協(xié)議引用,例如http://或file:///。通常需要將被加載的影片與被加載的外部文件放到同一個(gè)文件夾中。參數(shù)target是可選參數(shù),用來(lái)指定目標(biāo)影片剪輯實(shí)例的路徑。目標(biāo)影片剪輯實(shí)例將替換為加載的SWF文件或圖像。被加載的影片將繼承被替換掉的影片剪輯元件實(shí)例的屬性。230
method可選參數(shù),用來(lái)指定用于發(fā)送變量的HTTP方法。該參數(shù)必須是字符串GET或POST。如果沒(méi)有要發(fā)送的變量,則省略此參數(shù)。GET方法將變量追加到URL的末尾,它用于發(fā)送少量的變量。POST方法在單獨(dú)的HTTP標(biāo)頭中發(fā)送變量,它用于發(fā)送大量的變量。例如:loadMovie("外部圖像1.swf",mySWF);。其中,“外部圖像1.swf”是要加載的外部影片,mySWF是要被外部加載影片所替換的影片剪輯實(shí)例名。3.loadMovieNum函數(shù)【格式】loadMovieNum("url"[,level,method])【功能】用來(lái)加載外部SWF影片到目前正在播放的SWF影片中,位置在當(dāng)前SWF影片內(nèi)的左上角?!緟?shù)】參數(shù)level是可選參數(shù),用來(lái)指定播放的影片中,外部影片將加載到播放影片的哪個(gè)層。參數(shù)method也是可選參數(shù),指定發(fā)送變量傳送的方式GET或POST)。4.unloadMovie函數(shù)【格式】unloadMovieNum(target)【功能】用來(lái)刪除加載的外部SWF。參數(shù)target是SWF影片載入時(shí)指定的目標(biāo)路徑。231
5.unloadMovieNum函數(shù)【格式】unloadMovieNum(level)【功能】該函數(shù)用來(lái)刪除加載的外部
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)人類(lèi)學(xué)(體質(zhì)人類(lèi)學(xué))試題及答案
- 2025年高職機(jī)電(機(jī)電設(shè)備維修)試題及答案
- 2026年電工考證(電工理論考核)試題及答案
- 2025年中職園藝(園藝植物栽培)試題及答案
- 2025年大學(xué)藥品與醫(yī)療器械(醫(yī)藥技術(shù)推廣)試題及答案
- 2025年高職傳感器維修(傳感器維修技術(shù))試題及答案
- 2025年大學(xué)第四學(xué)年(通信原理)信號(hào)處理階段測(cè)試題及答案
- 2025年高職工藝美術(shù)品設(shè)計(jì)(工藝品設(shè)計(jì)技能)試題及答案
- 2025年大學(xué)糧食工程(糧食加工技術(shù))試題及答案
- 2025年大學(xué)廣播電視新聞學(xué)(節(jié)目策劃與制作)試題及答案
- 石子廠規(guī)范管理制度
- 大數(shù)據(jù)驅(qū)動(dòng)下的塵肺病發(fā)病趨勢(shì)預(yù)測(cè)模型
- 成都2025年四川成都市新津區(qū)招聘衛(wèi)生專(zhuān)業(yè)技術(shù)人才21人筆試歷年參考題庫(kù)附帶答案詳解
- 2026屆廣東省高考英語(yǔ)聽(tīng)說(shuō)考試備考技巧講義
- 炎德英才大聯(lián)考雅禮中學(xué)2026屆高三月考試卷英語(yǔ)(五)(含答案)
- 2026年經(jīng)營(yíng)人員安全生產(chǎn)責(zé)任制范文
- 2026年及未來(lái)5年中國(guó)鍛造件行業(yè)市場(chǎng)深度分析及發(fā)展前景預(yù)測(cè)報(bào)告
- 2026年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)大型鑄鍛件行業(yè)市場(chǎng)深度分析及投資戰(zhàn)略數(shù)據(jù)分析研究報(bào)告
- 小學(xué)班主任經(jīng)驗(yàn)交流課件
- TSG 21-2015《固定式壓力容器安全技術(shù)監(jiān)察規(guī)程》
- 2025個(gè)人年終工作總結(jié)
評(píng)論
0/150
提交評(píng)論