Flash AS 入門 條件判斷語句 if、else使用介紹

這篇教程為“Flash AS 入門教程”的一部分。查看全套教程>>>>。
本節(jié)應(yīng)掌握的知識(shí)要點(diǎn):
?、贄l件判斷語句if、else的應(yīng)用;②trace語句應(yīng)用;③動(dòng)態(tài)文本應(yīng)用;④在動(dòng)作中使用“幀標(biāo)簽”定位;⑤認(rèn)識(shí)“輸出”面板;⑥比較運(yùn)算符“<”、自加運(yùn)算符“++”;⑦了解常量、變量、表達(dá)式。
條件判斷語句在flash中是實(shí)用性很強(qiáng)、使用也很頻繁的語句,這一節(jié)將學(xué)習(xí)條件判斷語句“if、else”以及“trace”語句的應(yīng)用。
if是最基本的條件判斷語句,結(jié)合else使用是最常見的形式,在flash中具有很高的實(shí)用性,其格式如下:
if(條件) { //小括號里的條件是一個(gè)計(jì)算結(jié)果為 true 或 false 的表達(dá)式。
這里是當(dāng)條件計(jì)算為true時(shí)執(zhí)行的指令
}else{ //否則
當(dāng)條件執(zhí)行為false時(shí)執(zhí)行的指令
}
trace語句是在測試代碼時(shí)經(jīng)常使用的語句,其格式是:trace()
小括號“()”中的參數(shù)為變量或表達(dá)式,其作用是,當(dāng)按【Ctrl + Enter】鍵測試動(dòng)畫時(shí),把小括號“()”中指定的變量的值或表達(dá)式的計(jì)算結(jié)果在“輸出”面板中顯示出來,以便在測試時(shí)檢查程序代碼是否正常,這是一個(gè)檢查代碼的非常方便的方法。
動(dòng)態(tài)文本是在動(dòng)畫播放時(shí)顯示動(dòng)態(tài)更新的文本字段。
下面我們用一個(gè)簡單的實(shí)例來解析條件判斷語句的效果,請看“實(shí)例1-5”:
>>>>>點(diǎn)擊查看動(dòng)畫效果<<<<<
實(shí)例1-5 條件判斷語句if、else應(yīng)用
點(diǎn)擊畫面上的“play”按鈕,小松鼠奔跑三個(gè)來回后,跳到另一個(gè)畫面中原地反復(fù)翻轉(zhuǎn)跳躍,點(diǎn)擊“replay”按鈕將再一次從第一個(gè)畫面反復(fù)播放。這個(gè)效果就是用了條件判斷語句if和else實(shí)現(xiàn)的。
打開源文件,從源文件中點(diǎn)擊時(shí)間軸右上角的【編輯場景】按鈕,顯示出這個(gè)動(dòng)畫文件里有“場景1”和“場景2”兩個(gè)場景。
“場景1”的右下角有一個(gè)動(dòng)態(tài)文本框。【mc】圖層上有一個(gè)長度為40幀的動(dòng)作補(bǔ)間動(dòng)畫,第1-20幀,小松鼠從場景的左邊跑到右邊,第21-40幀,又從右邊跑回到左邊,如此來回奔跑。
“場景2”的右下角也有一個(gè)動(dòng)態(tài)文本框。時(shí)間軸上共有20幀,在【mc】圖層上,第1至20幀是一個(gè)補(bǔ)間動(dòng)畫,小松鼠從場景左端跑到場景中心原地跳躍,到第30幀上,小松鼠翻轉(zhuǎn)身面朝左方依然原地跳躍。
注意看看,場景2【AS】圖層的第20幀上有一個(gè)小紅旗標(biāo)志,還有一個(gè)小寫子母“p”,這是一個(gè)名稱為“p”的幀標(biāo)簽。
再來看看源文件中的動(dòng)作腳本,場景1【as】圖層上設(shè)置的語句:
第1幀上的語句:stop(); // 在第1幀停止播放。
第2幀上的語句:i = 1; //設(shè)置一個(gè)變量i,并賦初始值為1。
第40幀上的語句:
if (i<3) { // 當(dāng)i小于3時(shí)
gotoAndPlay(3); // 跳轉(zhuǎn)到第3幀并播放
} else { // 否則(當(dāng)不符合i<3的條件時(shí))
gotoAndPlay("p"); // 跳轉(zhuǎn)到幀標(biāo)簽”p”的位置并播放
}
trace(i); // 在輸出面板上顯示變量i的值
t_txt=”i= ”+i; //在變量名為t_txt的動(dòng)態(tài)文本框中顯示字符串”i=”并上i的值。(這里的+號是連接符,相當(dāng)于add)
i++; //變量i自加1,等同于i=i+1
“play”按鈕上的語句:
on (release) {
play();
} // 點(diǎn)擊按鈕時(shí)開始播放
場景2【AS】圖層第40幀上的語句:gotoAndPlay("p"); // 跳轉(zhuǎn)到幀標(biāo)簽“p”處并播放
“replay”按鈕上的語句:
on (release) {
gotoAndPlay(“場景 1”,2);
} // 點(diǎn)擊按鈕時(shí)跳轉(zhuǎn)到場景1第2幀并播放
我們來分析一下語句執(zhí)行的過程,影片開始時(shí)停止在第1幀,點(diǎn)擊“play”按鈕即開始播放,當(dāng)播放頭前進(jìn)到第40幀時(shí),由if語句開始第1次判斷是否符合i<3的條件,由于在第2幀定義了變量i的初始值為1,此時(shí)判斷的結(jié)果為true,這時(shí)執(zhí)行if后面大括號“{}”中的語句,播放頭跳轉(zhuǎn)到第3幀再次播放,同時(shí)“輸出”面板中顯示出i的值為“1”,如圖1-9。這時(shí),動(dòng)態(tài)文本框中也會(huì)顯示出文本字段“i= 1”.接下來i自加1,值變?yōu)?。
當(dāng)播放頭第2次前進(jìn)到第40幀時(shí),此時(shí)i的值為2,依然符合i<3的條件,播放頭跳轉(zhuǎn)到第3幀再次播放,“輸出”面板中顯示此時(shí)i的值為“2”,如圖1-9,動(dòng)態(tài)文本框中顯示出文本字段“i= 2”。i再次自加1,值變?yōu)?。
當(dāng)播放頭第3次到達(dá)第40幀時(shí),此時(shí)i的值為3,超出了if語句中所指定的i<3的條件了,這時(shí)便執(zhí)行else后面大括號“{}”中的語句,播放頭跳轉(zhuǎn)到幀標(biāo)簽“p”處,也就是場景2第20幀并播放,場景2第1至20幀小松鼠從場景左端跑到場景中心的動(dòng)畫效果就被邁過了,這時(shí)“輸出”面板中顯示i的值為3,如圖1-9。動(dòng)態(tài)文本框中顯示出文本字段“i= 3”。當(dāng)播放到第30幀時(shí),小松鼠翻轉(zhuǎn)身繼續(xù)在原地跳躍,到第40幀時(shí),由幀動(dòng)作腳本gotoAndPlay("p")指令其跳轉(zhuǎn)回第20幀再次播放,如此就形成了在第20至第40幀之間反復(fù)播放,我們看到的實(shí)際效果就是小松鼠不停的在原地翻轉(zhuǎn)跳躍。
這樣就實(shí)現(xiàn)了小松鼠在場景1來回奔跑3次后,跳到下一個(gè)場景在原地反復(fù)翻轉(zhuǎn)跳躍的效果。
當(dāng)點(diǎn)擊“replay”按鈕時(shí),由gotoAndPlay(“場景 1”,2);指令播放頭再跳轉(zhuǎn)到“場景 1”第2幀重新播放(場景名必須與影片文件中的場景名稱一致),此時(shí)i的值為1,再次按照上面的判斷過程繼續(xù)播放。
圖1-9 輸出面板上依次顯示i的值
這一節(jié)中新的知識(shí)點(diǎn):
動(dòng)態(tài)文本:是在動(dòng)畫播放時(shí)動(dòng)態(tài)更新的文本字段,定義動(dòng)態(tài)文本的方法是,用文本工具在場景上劃一個(gè)適當(dāng)大小的文本框,在屬性面板中將文本類型設(shè)置為“動(dòng)態(tài)文本”,并在右下方的【變量】輸入欄中為其定義一個(gè)變量名。命名文本字段時(shí),應(yīng)使用 _txt 后綴。
幀標(biāo)簽:是動(dòng)畫文件中為關(guān)鍵幀添加的命名標(biāo)記,如本節(jié)實(shí)例中的幀標(biāo)簽“p”。幀標(biāo)簽在動(dòng)作腳本中可以起到方便的導(dǎo)航作用,在設(shè)計(jì)動(dòng)畫時(shí),往往會(huì)調(diào)整某些關(guān)鍵幀的位置,如果使用了幀標(biāo)簽,就不必一一修改動(dòng)作腳本中的相應(yīng)位置參數(shù),比如,我們?nèi)绻焉厦鎸?shí)例中的跳轉(zhuǎn)動(dòng)作改為跳轉(zhuǎn)到場景2第1幀,就可以直接把幀標(biāo)簽為“p”的那個(gè)關(guān)鍵幀移到第1幀就行了。對于跳轉(zhuǎn)動(dòng)作比較多的動(dòng)作腳本特別有用。
添加幀標(biāo)簽的方法是,選中關(guān)鍵幀,在“屬性”面板中輸入名稱,幀標(biāo)簽名稱可以是任意字符。添加有幀標(biāo)簽的關(guān)鍵幀上會(huì)出現(xiàn)一面小紅旗標(biāo)志,標(biāo)志后面會(huì)顯示幀標(biāo)簽名稱。如圖1-10所示。
圖1-10 添加幀標(biāo)簽
常量:是在程序運(yùn)行中不會(huì)改變的量,例如i=1、i<3,“1”和“3”就是一個(gè)常量。
變量:是一種用英語字母、英語單詞或者字母組合來表示的標(biāo)識(shí)符,不能用數(shù)字開頭。變量用于保留任何類型(字符串、數(shù)字、布爾值、對象、影片剪輯)的數(shù)據(jù)值。如這一節(jié)中的變量“i”。
表達(dá)式:表達(dá)式是動(dòng)作腳本中最常見的語句, 它通常由變量名、 運(yùn)算符及常量組成。如這一節(jié)里面的i=1;i<3等都是簡單的表達(dá)式。
左邊的“i”是變量名, 中間的“=”是賦值運(yùn)算符(注意,這里這個(gè)等號“=”不表示相等,只表示將右邊的值賦給左邊的變量,相等操作符用“==”表示),“<”是比較運(yùn)算符, 右邊的數(shù)值是常量。由這個(gè)表達(dá)式可以聲明一個(gè)變量, 為下一步操作做準(zhǔn)備。
表達(dá)式又分為賦值表達(dá)式,如i=1, 算術(shù)表達(dá)式,如x=3/5,邏輯表達(dá)式,如i<3。
課后練習(xí):素材源文件下載
要求:
1. 素材源文件中有兩個(gè)場景,分別將其命名為“a”、“b”;
2. 將“b”場景的第31幀命名為“p”;
3. 在“a”場景左下方創(chuàng)建一個(gè)動(dòng)態(tài)文本框,并為其定義變量名,要求按照文本類型正確添加后綴;并將這個(gè)動(dòng)態(tài)文本框復(fù)制粘貼到“b”場景左下方。
4.在“a”場景的【as】圖層添加語句實(shí)現(xiàn)如下效果:
①動(dòng)畫開始播放時(shí)停止在第1幀;點(diǎn)擊“play”按鈕開始播放。
?、谠诘?幀定義一個(gè)變量“i”,并根據(jù)下面要求的效果正確設(shè)定初始值;
③當(dāng)播放頭到達(dá)第40幀時(shí),根據(jù)判斷條件進(jìn)行下一步的播放,判斷條件為:變量i是否等于3。當(dāng)條件成立(即i等于3)時(shí),跳轉(zhuǎn)到幀名稱為“p”的位置并播放;當(dāng)條件不成立(即i不等于3)時(shí),跳轉(zhuǎn)到當(dāng)前場景第3幀并播放;判斷完成后在輸出面板中顯示i的值;在動(dòng)態(tài)文本框中顯示文本字段”i=”并上i的值;要求第一次顯示i的值為“0”;最后i自加1。
5.在“b”場景的【as】圖層添加語句實(shí)現(xiàn)如下效果:
按照以上的條件,當(dāng)變量i等于3時(shí),播放頭跳轉(zhuǎn)到幀名稱為“p”的位置(即“b”場景的第31幀)繼續(xù)往下播放。再按照下面的要求實(shí)現(xiàn)效果:
?、佼?dāng)播放頭到達(dá)當(dāng)前場景第90幀時(shí),根據(jù)判斷條件進(jìn)行下一步的播放,判斷條件為:變量i是否等于6。當(dāng)條件成立時(shí),播放頭跳轉(zhuǎn)到當(dāng)前場景第1幀并播放,否則跳轉(zhuǎn)到幀標(biāo)簽“p”處并播放;判斷完成后在輸出面板中顯示i的值;在動(dòng)態(tài)文本框中顯示文本字段”i=”并上i的值;最后i自加1。
②根據(jù)以上條件判斷,當(dāng)條件不成立時(shí),播放頭跳轉(zhuǎn)到了當(dāng)前場景第1幀并播放,到達(dá)第30幀時(shí),再一次根據(jù)設(shè)定的條件進(jìn)行判斷,判斷條件為:i是否小于10。當(dāng)條件成立時(shí),播放頭跳轉(zhuǎn)到當(dāng)前場景第1幀并播放,條件不成立時(shí),播放頭跳轉(zhuǎn)到“a”場景第1幀,即回到動(dòng)畫的初始狀態(tài);判斷完成后在輸出面板中顯示i的值;在動(dòng)態(tài)文本框中顯示文本字段”i=”并上i的值;最后i自加1。
6.動(dòng)畫測試時(shí),輸出面板中顯示的值依次應(yīng)為:0、1、2、3、4、5、6、7、8、9、10。
動(dòng)畫測試和播放時(shí),動(dòng)態(tài)文本框中顯示的文本字符應(yīng)依次更新為:“i=0”、“i=1”、“i=2”、……“i=10”。
動(dòng)畫效果如練習(xí)5所示:
>>>>>點(diǎn)擊查看動(dòng)畫效果<<<<<
練習(xí)5
提示:語句中注意正確使用運(yùn)算符,請參見上面“表達(dá)式”解釋中關(guān)于運(yùn)算符的提示。語句中引用到的場景名稱必須和場景的實(shí)際名稱相符。
這篇教程為“Flash AS 入門教程”的一部分。查看全套教程>>>>。
相關(guān)文章
flash cs6鼠標(biāo)跟隨效果實(shí)現(xiàn)代碼分享
flash cs6想要實(shí)現(xiàn)鼠標(biāo)跟隨效果?該怎么制作呢?今天我們就來看看使用as2.0實(shí)現(xiàn)鼠標(biāo)跟隨效果的教程,需要的朋友可以參考下2019-05-19- Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來輸入文本,該怎么使用代碼輸入文本呢?請看下文詳細(xì)的教程,需要的朋友2018-03-11
- flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來看看簡單的例子,需要的朋友可以參考下http://www.dbjr.com.cn/softs/408402.2018-02-28
flash cs6中怎么使用ActionScript3.0?
flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,該怎么使用呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2018-01-25Flash中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?
本教程給大家分享一個(gè)Flash小教程,教大家在Flash CS6中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?方法很簡單,感興趣的朋友歡迎前來一起分享學(xué)習(xí)2018-01-12Flash中如何用代碼將圖片放在自己想要的舞臺(tái)位置?
本教程教腳本之家的ActionScript教程學(xué)習(xí)者在Flash中如何用代碼將圖片放在自己想要的舞臺(tái)位置,教程講解的詳細(xì),感興趣的朋友歡迎前來分享學(xué)習(xí)2017-11-20在Flash CS6中使用with函數(shù)繪制背景圖教程
本教程教腳本之家的ActionScript教程學(xué)習(xí)者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細(xì),方法也不難,非常適合Flash新手入門學(xué)習(xí)2017-11-18Flash怎么設(shè)置元件坐標(biāo)?flash使用代碼設(shè)置元件的坐標(biāo)的教程
Flash怎么設(shè)置元件坐標(biāo)?flash中導(dǎo)如的元件需要添加坐標(biāo),該怎么定位元件坐標(biāo)呢?下面我們就來看看flash使用代碼設(shè)置元件的坐標(biāo)的教程,需要的朋友可以參考下2017-10-11Flash怎么制作來回?fù)u擺的花朵的動(dòng)畫?
Flash怎么制作來回?fù)u擺的花朵的動(dòng)畫?Flash中想要給花朵制作一段搖擺的動(dòng)畫效果,該怎么制作呢?下面我們就來看看詳細(xì)的教程,很簡單,需要的朋友可以參考下2017-05-23- Flash怎么制作流動(dòng)七彩色的文字?想要讓文字動(dòng)起來,該怎么使用flash給文字制作一個(gè)流動(dòng)七彩色的動(dòng)畫呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2017-04-23