十一、深入了解時(shí)間控制 通過(guò)本課的學(xué)習(xí),掌握在按鈕上添加代碼的方法;理解 on 命令的函數(shù)功能; 掌握時(shí) 間軸控制命令的功能,語(yǔ)法格式,掌握在幀上添加命令基本操作,能使 用幀命令和按鈕命 令控制一些簡(jiǎn)單的時(shí)間軸動(dòng)畫(huà)。 on 事件處理函數(shù) 事件是指軟件或硬件發(fā)生的事情,它需 Macromedia Flash 的應(yīng)用程序?qū)κ录?/p> 一定的 響應(yīng)。硬件發(fā)生的事件如按下鼠標(biāo)、單擊鼠標(biāo)、拖動(dòng)鼠標(biāo)等。軟件發(fā)生 的事件如影片剪輯 剛剛被載入場(chǎng)景、影片剪輯被卸載等。為了使應(yīng)用程序?qū)κ?/p> 件做出反應(yīng),必須使用事件處 理函數(shù)。 下面我們就來(lái)學(xué)習(xí) on 事件外理函數(shù)。 雙擊代碼選擇區(qū)中的“全屬函數(shù)”|“影 片剪輯控制” |“on”命令后,彈出選項(xiàng) On 事件動(dòng)作使用較多,它一般直接作用于按鈕,也可以作用于影片剪輯實(shí)例。 理解 on 事件中的參數(shù)意義 在創(chuàng)建一個(gè)動(dòng)態(tài)文本,在屬性面板里輸入變量名:txt.再創(chuàng)建一個(gè)按鈕實(shí)例,選中按 鈕, 打開(kāi)動(dòng)作腳本面板輸入代碼: on (press) { txt = "發(fā)生了鼠標(biāo)按下(press)事件"; } on (release) { txt = "發(fā)生了鼠標(biāo)釋放(release)事件"; } on (releaseOutside) { txt = "發(fā)生了鼠標(biāo)外部釋放"+newline+"(releaseOutside)事件"; } on (rollOver) { txt = "發(fā)生了鼠標(biāo)滑過(guò)(rollOver)事件"; } on (rollOut) { txt = "發(fā)生了鼠標(biāo)滑離(rollOutr)事件"; } on (dragOver) { txt = "發(fā)生了鼠標(biāo)拖過(guò)(dragOver)事件"; } on (dragOut) { txt = "發(fā)生了鼠標(biāo)拖離(dragOut)事件"; } on (keyPress "") { txt = "發(fā)生了按左鍵事件"+newline+"(keyPress\"\")事件"; 時(shí)間軸控制命令 時(shí)間軸控制語(yǔ)句是較基礎(chǔ)的 ActionScript 控制 語(yǔ)句。時(shí)間軸控制語(yǔ)句是掌握 ActionScript 語(yǔ)句的基 礎(chǔ), 它們的主要任務(wù)是控制幀的停止、 播放、 跳轉(zhuǎn)等。只 要帶有時(shí)間軸的動(dòng)畫(huà)效果,就可以用時(shí)間軸控制 語(yǔ)句來(lái)進(jìn)行控制。時(shí)間軸一共 有兩種,一種是場(chǎng)景中的 時(shí)間軸, 我們叫做主時(shí)間軸。 另一種是元件中的時(shí) 間軸, 例如影片剪輯、圖形元件中的時(shí)間軸。所以,時(shí)間軸控 制語(yǔ)句也可以分 成兩類,一類是控制主時(shí)間軸,一類控制影片剪輯時(shí)間軸。打開(kāi)動(dòng)作腳本箱,點(diǎn) 擊“全局函數(shù)”“時(shí)間軸控制”我們會(huì)看到時(shí)間軸控 9 條時(shí)間軸控制命 令。在 這一課中我們將分別介紹它們的功能及使用方法。 play( ) 與 stop () play 和 stop 在 Flash 中用于控制動(dòng)畫(huà)的播放和停止,play 命令使播放頭從它當(dāng) 前位置 向前移動(dòng)。stop 停止當(dāng)前正在播放的 SWF 文件。此動(dòng)作最通常的用法 是用按鈕控制影片 剪輯。是 Flash中控制動(dòng)畫(huà)最基本的命令。 使用方法如下:路徑.play() 路徑.stop() 幀命令 我們知道一個(gè)有動(dòng)畫(huà)的影片剪輯,場(chǎng)景時(shí)間軸只有一幀這個(gè)影片剪輯也能正常 播放, 但如果是圖形元件中做的動(dòng)畫(huà),在場(chǎng)景中必須有與元件時(shí)軸同樣的幀頻 數(shù)才能正常播放。 這就說(shuō)明了影片剪輯有獨(dú)立的時(shí)間軸。而圖形元件的時(shí)間軸必須依賴父級(jí)時(shí)間 軸,所以, 場(chǎng)影中的影片剪輯實(shí)例,必須控制影片剪輯的時(shí)間軸。 要在場(chǎng)景 中控制影片剪輯的時(shí)間軸, 就要給影片剪輯輸入實(shí)例名稱。 下面我們做一個(gè)實(shí)例,通過(guò)該例,我們來(lái)掌握在幀上添加命令的方法,初步了解 控制當(dāng)前時(shí)間、根時(shí)間軸控制元件時(shí)間。元件時(shí)間軸控元件時(shí)間軸的方法。 我們播放動(dòng)畫(huà)時(shí),可以看到每個(gè)動(dòng)畫(huà)都是動(dòng)的,現(xiàn)在我們來(lái)進(jìn)行控制。 (1)打開(kāi)素材, 分別選中場(chǎng)景中的小花, 和樹(shù)葉, 在屬性面板里輸入實(shí)例名 “花” “葉” 。 (2) 進(jìn)入名稱為“葉引導(dǎo)線”的影片剪輯元件的編輯區(qū)中,點(diǎn)擊“AS 層”的 第 1幀打開(kāi)動(dòng)作面板。輸入命令: stop();//停時(shí)當(dāng)前時(shí)間軸 在第 50 幀插入空白關(guān)鍵幀,選中此幀,打開(kāi)動(dòng)作面板,輸入命令: this._parent.play();//父級(jí)時(shí)間軸(根時(shí)間軸) 播放 在主場(chǎng)景“AS 層”的第 1 幀,添加命令: this.花.play()//當(dāng)時(shí)間軸中的影片剪輯實(shí)例"花"播放 在主場(chǎng)景“AS 層”的第 170 幀添加命令: stop();//停止當(dāng)前時(shí)間軸 this.葉.play();//當(dāng)前時(shí)間軸中的實(shí)例"葉"播放 測(cè)試影片看看效果。 總結(jié):通過(guò)本課學(xué)習(xí),要掌握自身時(shí)間軸的控制,子級(jí)時(shí)間軸的控制,父級(jí)時(shí) 間軸的控制, 對(duì)初學(xué)的朋友,最簡(jiǎn)單的方法是:正解輸入實(shí)例名后,通過(guò)“插 入目標(biāo)對(duì)話框,找到你的控制目標(biāo),這時(shí)軟件會(huì)自動(dòng)給你編寫(xiě)好路徑,你只需在 路徑后面加上一個(gè)小點(diǎn)“.”然后加 上 stop()或 play()命令。 幀命令是播放頭來(lái) 觸發(fā)的,播放頭經(jīng)過(guò)你的命令幀,這幀上的命令就被執(zhí)行了。 按鈕的交互控制 我們利用此動(dòng)畫(huà)練習(xí)在不同的控制點(diǎn)上來(lái)控制影片?,F(xiàn)在我們?nèi)我膺x兩個(gè)控 制點(diǎn),如果選擇 mcA 中放一個(gè)停按鈕,mc1 中放一個(gè)播放 按鈕,用這兩個(gè)按 鈕來(lái)控制所有影片剪輯。 停止按鈕上的代碼 : on (press) { _root.mc.stop(); _root.mc.mcA.stop(); _root.mc.mcB.stop(); _root.mc.mcA.mc1.stop(); _root.mc.mcA.mc2.stop(); _root.mc.mcA.mc3.stop(); } 播放按鈕上的代碼: on (press) { _root.mc.play(); _root.mc.mcA.play(); _root.mc.mcB.play(); _root.mc.mcA.mc1.play(); _root.mc.mcA.mc2.play(); _root.mc.mcA.mc3.play(); } 說(shuō)明:上例中使用的都是“絕對(duì)”路徑,如果你對(duì)路徑的概念掌較好,可以選 擇性的 使用“相對(duì)”路徑或“絕對(duì)”路徑。 本課涉及的語(yǔ)法及規(guī)范 圓括號(hào) “ ()” :圓括號(hào)在動(dòng)作腳本中作用非常大,在定義函數(shù)時(shí)在將參 數(shù)全部放到圓 括號(hào)內(nèi);在調(diào)用函數(shù)時(shí)要將傳遞給函數(shù)的所有參數(shù)包含在小括號(hào) 里; 在設(shè)置表達(dá)式優(yōu)先級(jí)或增強(qiáng)動(dòng)作語(yǔ)名的易讀性時(shí)都需要使用到圓括號(hào)。例如: 本課學(xué)的 on 函數(shù)用來(lái)定義鼠標(biāo)或鍵盤響應(yīng)事件, 其中選擇的鼠標(biāo)事件就是參 數(shù)。有時(shí)也可以沒(méi)有參數(shù)例如:函數(shù) play()。 分號(hào) “;” :動(dòng)作腳本中的分號(hào)是用來(lái)作為語(yǔ)句結(jié)束的標(biāo)記,在 Flash AS 腳 本中,任何 一條語(yǔ)句都是以“;”號(hào)結(jié)束的。雖然有時(shí)省略了“;”號(hào),F(xiàn)lash 也 可以成功的編譯這個(gè)腳 本,但這是不規(guī)范的。 花括號(hào)“{ }” ,動(dòng)作腳本中的一組語(yǔ)句可以被一對(duì)花括號(hào)“{……}”包 括起來(lái),成為一 個(gè)語(yǔ)名組。在由多個(gè)動(dòng)作狀態(tài)組成的語(yǔ)句組中,使用花括號(hào)可 以有效地來(lái)區(qū)分各命令的層級(jí)和從屬關(guān)系。 |
|