欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

flashas菜鳥入門教程下載

 更新時(shí)間:2008年03月05日 22:05:32   作者:  
這個(gè)教程很老了,是閃吧的 thymecd 發(fā)布的 ,由blackhill 整理成chm 圖片和 swf都是全的!! 閃吧的下載已經(jīng)失效了,所以我在網(wǎng)上找了很久總算找了一個(gè)下載地址 下面是第三章的內(nèi)容 很適合剛剛接觸as的朋友

3.4.2  比較
在ActionScript中比較兩個(gè)事物是很容易的,要進(jìn)行比較可以使用標(biāo)準(zhǔn)的數(shù)學(xué)符號(hào),如=、<、>等。
1.相等
在ActionScript中用比較運(yùn)算符對(duì)兩個(gè)值進(jìn)行比較。
要比較兩個(gè)值是否相等,可以使用連在一起的兩個(gè)等于符號(hào)(==)。單個(gè)等于符號(hào)(=)是用來為變量分配值的,并不是比較運(yùn)算符。
如果要比較變量x的值是否等于7,就可以使用==符號(hào),如下所示:
var x = 7;
trace(x == 7);
以上代碼使用=符號(hào)將變量x設(shè)置為7,然后使用==符號(hào)對(duì)x和7進(jìn)行比較。
測(cè)試這兩行代碼,輸出窗口將顯示“true”。如果將x設(shè)置為8或其他數(shù),則會(huì)顯示“false”。
==符號(hào)還可以用來比較兩個(gè)字符串。如下所示:
var myString = "Hello ActionScript.";
trace(myString == "Hello ActionScript.");
trace(myString == "hello ActionScript.");
程序運(yùn)行時(shí),你將在輸出窗口中看到一個(gè)“true”和一個(gè)“false”,因?yàn)樵谧址凶帜甘且獏^(qū)分大小寫的。
如果你要比較兩個(gè)值是否不等,可以使用!=符號(hào),它的意思是“不等于”。如下所示:
var a = 7;
trace(a != 9);
trace(a != 7);
第1個(gè)trace語句顯示信息“true”,因?yàn)閍確實(shí)不等于9;第2個(gè)trace語句顯示信息“false”。
2.小于和大于
使用標(biāo)準(zhǔn)的數(shù)學(xué)符號(hào)<和>比較兩數(shù)是否成小于或大于關(guān)系。舉例如下:
var a = 9;
trace(a < 10);
trace(a > 5);
trace(a < 1);
你將從輸出窗口中看到“true”、“true”和“false”。
符號(hào)<=或>=用于比較一個(gè)數(shù)是否小于等于或大于等于另一個(gè)數(shù),如下所示:
var a = 9;
trace(a <= 9);
trace(a >= 9);
trace(a >= 7);
以上3個(gè)trace語句都將顯示“true”。
3.4.3  運(yùn)算
通過運(yùn)算可以改變變量的值。分別使用算術(shù)運(yùn)算符+、-、*、/執(zhí)行加、減、乘、除操作。
如下所示的ActionScript將值為9的變量x加上一個(gè)數(shù)7:
var x = 9;
x = x + 7;
trace(x);
運(yùn)算結(jié)果為16。
在ActionScript中執(zhí)行運(yùn)算可以使用一些簡(jiǎn)寫方法,如+=運(yùn)算符將其前后的值相加并將結(jié)果賦給它前面的變量。前面的腳本也可以寫成如下的形式:
var x = 9;
x += 7;
trace(x);
++運(yùn)算符與+=運(yùn)算符類似,但它每執(zhí)行一次,變量的值只增加1,如下面的例子:
var x = 9;
x++;
trace(x);
結(jié)果顯示10。再看下面的例子:
var x = 9;
trace(x++);
trace(x);
結(jié)果是9和10。為什么呢?因?yàn)榈?個(gè)trace語句輸出x的當(dāng)前值9,然后將x加1,輸出x的新值10。
再試一下下面的腳本:
var x = 9;
trace(++x);
trace(x);
這次的結(jié)果為兩個(gè)10。因?yàn)閷?+運(yùn)算符置于變量前面,將先執(zhí)行運(yùn)算再返回變量的值。
同理,--運(yùn)算符執(zhí)行遞減操作,-=運(yùn)算符在變量當(dāng)前值的基礎(chǔ)上減去一個(gè)數(shù),*=運(yùn)算符在變量當(dāng)前值的基礎(chǔ)上乘上一個(gè)數(shù),/=運(yùn)算符在變量當(dāng)前值的基礎(chǔ)上除以一個(gè)數(shù)。
3.4.4  條件
既然現(xiàn)在你已經(jīng)知道如何比較兩個(gè)變量,你就可以將比較結(jié)果作為執(zhí)行某些語句的條件。
1.if語句
if語句使你可以使用比較結(jié)果控制Flash影片的播放。如下所示的語句判斷X是否等于9,如果比較結(jié)果為true,則讓影片跳到第15幀:
if (x == 9) {
    gotoAndPlay(15);
}
if語句以if開始,其后緊跟一個(gè)比較表達(dá)式,比較表達(dá)式通常用一對(duì)括號(hào)括起來,再后面即是用大括號(hào)括起來當(dāng)比較結(jié)果為true時(shí)要執(zhí)行的代碼。
2.else
對(duì)if語句可以進(jìn)行擴(kuò)展,使用else執(zhí)行條件不成立(比較表達(dá)式為false)時(shí)的代碼,如下所示:
if (x == 9) {
 gotoAndPlay(15);
} else {
 gotoAndPlay(16);
}
你也可以使用else if語句將if語句更推進(jìn)一步,如下所示:
if (x == 9) {
 gotoAndPlay(15);
} else if (x == 10) {
 gotoAndPlay(16);
} else if (x == 11) {
 gotoAndPlay(20);
} else {
 gotoAndPlay(25);
}
你可以讓if語句想要多長(zhǎng)就有多長(zhǎng),你也可以使用else if語句對(duì)別的變量進(jìn)行比較,如下所示:
if (x == 9) {
 gotoAndPlay(15);
} else if (y<20) {
 gotoAndPlay(16);
} else {
 gotoAndPlay(25);
}
3.復(fù)合比較
你可以在一個(gè)if語句中對(duì)幾個(gè)比較表達(dá)式的值進(jìn)行判斷,比如說你希望在x為9并且y為20時(shí)跳轉(zhuǎn)到第10幀,可以使用如下所示的腳本:
if ((x == 9) && (y == 20)) {
 gotoAndPlay(10);
}
邏輯與運(yùn)算符&&將兩個(gè)比較表達(dá)式聯(lián)接在一起成為一個(gè)復(fù)合表達(dá)式,當(dāng)兩個(gè)表達(dá)式的值都為true時(shí)復(fù)合表達(dá)式的值才為true。每個(gè)比較表達(dá)式都需要添加獨(dú)立的括號(hào)以便Flash能正確識(shí)別。在Flash的早期版本中使用and執(zhí)行邏輯與運(yùn)算,現(xiàn)在已推薦不使用。
你也可以使用邏輯或運(yùn)算符||將兩個(gè)比較表達(dá)式聯(lián)接在一起成為一個(gè)復(fù)合表達(dá)式,只要有一個(gè)表達(dá)式的值為true,復(fù)合表達(dá)式的值就為true。如下所示:
if ((x == 7) || (y == 15)) {
 gotoAndPlay(20);
}
在該腳本中,只要x為7或者y為15,或者兩者都成立,結(jié)果都是跳轉(zhuǎn)到第20幀。只有當(dāng)兩者都不成立時(shí),才不會(huì)執(zhí)行g(shù)otoAndPlay命令。在Flash的早期版本中使用or執(zhí)行邏輯或運(yùn)算,現(xiàn)在已推薦不使用。
3.4.5  循環(huán)
ActionScript中的循環(huán)要比if語句稍微復(fù)雜一點(diǎn)。它的循環(huán)結(jié)構(gòu)與C語言中的循環(huán)結(jié)構(gòu)幾乎是一致的。
1.for循環(huán)結(jié)構(gòu)
for結(jié)構(gòu)是主要的循環(huán)結(jié)構(gòu),其樣式如下所示:
for (var i = 0; i<10; i++) {
 trace(i);
}
運(yùn)行這段代碼,隨著局部變量I的改變,輸出窗口中將顯示數(shù)字0~9。
for結(jié)構(gòu)中關(guān)鍵字for后面的括號(hào)中包含3個(gè)部分,它們之間用分號(hào)隔開。
第1部分聲明一個(gè)局部變量,在本例中創(chuàng)建了一個(gè)局部變量i并將其設(shè)置為0。該部分只在循環(huán)體開始執(zhí)行之前執(zhí)行一次。
第2部分作為一個(gè)供測(cè)試的條件,在這里,測(cè)試i是否小于10。只要滿足該條件,就會(huì)反復(fù)執(zhí)行循環(huán)體。循環(huán)開始的時(shí)候i等于0,它是小于10的,所以循環(huán)得以執(zhí)行。
第3部分是一個(gè)運(yùn)算表達(dá)式,每完成一次循環(huán)都將執(zhí)行該表達(dá)式一次。在這里,i每次遞增1,然后轉(zhuǎn)到第2部分對(duì)i的新值進(jìn)行判斷。
大括號(hào)中的部分是該循環(huán)的循環(huán)體,每執(zhí)行一次循環(huán)都將執(zhí)行其中的所有命令。我們來看看計(jì)算機(jī)是如何處理這個(gè)循環(huán)的。
聲明變量i并將其值設(shè)為0;
判斷條件i<10,結(jié)果為true,開始執(zhí)行循環(huán)體;
現(xiàn)在i值為0,trace命令將i值發(fā)送到輸出窗口,輸出窗口顯示0;
第1次循環(huán)結(jié)束,回到循環(huán)開始處,i在原來的基礎(chǔ)上遞增1,i值變?yōu)?;
判斷條件i<10,結(jié)果為true,繼續(xù)執(zhí)行循環(huán)體;
trace命令將i的值1發(fā)送到輸出窗口;
然后i再加1,這樣循環(huán)下去直到執(zhí)行完10次循環(huán);
回到循環(huán)開始處,i在原來的基礎(chǔ)上遞增1,i值變?yōu)?0;
判斷條件i<10,結(jié)果為false,結(jié)束循環(huán),開始執(zhí)行for結(jié)構(gòu)后面的代碼。
2.其他形式的循環(huán)結(jié)構(gòu)
for循環(huán)是最常用的一種循環(huán)結(jié)構(gòu),除for循環(huán)之外還有while循環(huán)和do…while循環(huán)。
while循環(huán)的例子如下所示:
i = 0;
while (i != 10) {
 trace(i);
 i++;
}
while循環(huán)看起來似乎要比for循環(huán)簡(jiǎn)單一些,從結(jié)構(gòu)上看甚至與if語句還有一些相似。只要while后面括號(hào)中的條件成立,循環(huán)就會(huì)一直進(jìn)行下去,所以在while循環(huán)體中需要有改變條件的語句,以使條件最終能夠?yàn)閒alse,完成循環(huán),如上例中的i++。
與while循環(huán)相似的是do…while循環(huán),如下所示:
i = 0;
do {
 trace(i);
 i++;
} while (i != 10);
除了測(cè)試條件的位置不同,while循環(huán)和do…while循環(huán)幾乎是一樣的。while循環(huán)在循環(huán)體之前測(cè)試條件,do…while循環(huán)在循環(huán)體之后測(cè)試條件,所以do…while循環(huán)至少要執(zhí)行一次,而while循環(huán)有可能一次也不執(zhí)行。
3.跳出循環(huán)
所有的循環(huán)結(jié)構(gòu)都可以使用兩個(gè)命令改變循環(huán)的執(zhí)行流程,一個(gè)命令是break,另一個(gè)命令是continue。break命令終止循環(huán),并跳到循環(huán)結(jié)構(gòu)后面的語句處執(zhí)行;continue命令終止本輪循環(huán)但不跳出循環(huán),進(jìn)而執(zhí)行下一輪循環(huán)。
使用break和continue的例子都比較復(fù)雜,另外,還有一種特殊的for…in循環(huán)結(jié)構(gòu),在用到它們的時(shí)候我們?cè)僭敿?xì)講解。
3.4.6  函數(shù)
到現(xiàn)在為止,我們都是將腳本放在影片的第1幀中。如果程序相當(dāng)復(fù)雜,再放在同一幀中就使腳本顯得太龐大了。
函數(shù)使你可以組織需重用的代碼,并放在時(shí)間軸中,例如:
function myFunction(myNum) {
 var newNum = myNum+5;
 return newNum;
}
函數(shù)以關(guān)鍵字function開頭,function后面是函數(shù)名。與變量名相似,你可以指定自己的函數(shù)名,最好將函數(shù)名取得有意義一些。
函數(shù)名后面的括號(hào)容納該函數(shù)的參數(shù),所謂參數(shù)也是一個(gè)變量,它的值在調(diào)用該函數(shù)時(shí)予以指定。一個(gè)函數(shù)可以有若干參數(shù),也可以沒有參數(shù)。無論有沒有參數(shù),函數(shù)名后都應(yīng)緊跟一對(duì)括號(hào)。
大括號(hào)中的部分是函數(shù)體,在函數(shù)體中創(chuàng)建了一個(gè)局部變量newNum,將myNum加5的結(jié)果設(shè)置為newNum的值。如果你將10作為參數(shù)傳遞給該函數(shù),newNum的值就是15。
return命令僅用于函數(shù)中,使用return結(jié)束一個(gè)函數(shù)并返回函數(shù)值。此處,newNum是用return命令返回的函數(shù)值。
要使用函數(shù),就需要調(diào)用它,如下所示:
var a = myFunction(7);
該語句創(chuàng)建一個(gè)新的局部變量a,將7作為參數(shù)調(diào)用函數(shù)myFunction,并將函數(shù)返回的結(jié)果作為變量a的值。
被調(diào)用的函數(shù)開始運(yùn)行,創(chuàng)建一個(gè)局部變量myNum,將7作為myNum的值,然后執(zhí)行函數(shù)體內(nèi)的代碼,使用return命令將newNum的值12返回給函數(shù)的調(diào)用者。這時(shí),a的值變?yōu)?2。
函數(shù)最大的作用體現(xiàn)在它可以重復(fù)使用。如下所示的3行代碼產(chǎn)生3個(gè)不同的結(jié)果:
trace(myFunction(3));
trace(myFunction(6));
trace(myFunction(8));
運(yùn)行以上代碼,你將得到結(jié)果8、11和13。
使用函數(shù)還有一個(gè)好處就是可以只改變函數(shù)中的一處,從而影響所有調(diào)用該函數(shù)的命令。例如,將函數(shù)myFunction中的var newNum = myNum+5改成var newNum = myNum+7,上面3個(gè)調(diào)用該函數(shù)的命令的結(jié)果將變成10、13和15
3.4.7  點(diǎn)語法
ActionScript中一個(gè)很重要的概念是點(diǎn)語法。點(diǎn)語法也是很多面向?qū)ο蟮木幊陶Z言中用來組織對(duì)象和函數(shù)的方法。
假設(shè)你想求一個(gè)數(shù)的絕對(duì)值,F(xiàn)lash中有一個(gè)內(nèi)置的絕對(duì)值函數(shù),它包含在ActionScript的“對(duì)象”/“核心”/“Math”/“方法”中。要使用絕對(duì)值函數(shù),首先要使用對(duì)象名,即Math,然后是方法名abs,它們之間用符號(hào)“.”隔開,具體表示方法如下所示:
var a = Math.abs(-7);
點(diǎn)語法的另一個(gè)用途是指定影片剪輯的屬性。如下面的語句將影片剪輯myMC的_alpha(透明度)屬性設(shè)置為50%:
myMC._alpha = 50;
你還可以在影片剪輯中使用點(diǎn)語法定位根(root)中的一個(gè)全局變量。如果你在主時(shí)間軸中創(chuàng)建了一個(gè)全局變量globelVar,而要在影片剪輯中使用這個(gè)全局變量,可以使用如下的語句:
trace(_root.globleVar);
如果你現(xiàn)在對(duì)對(duì)象、影片剪輯屬性、層級(jí)之類的概念還不熟悉,不用著急,在以后的內(nèi)容中我們將對(duì)它們進(jìn)行更深入的講解。
3.4.8  注釋
我們可以在Flash的動(dòng)作面板中添加注釋,注釋就是程序中并不參與執(zhí)行的那些代碼。它可以用來提醒你某些代碼的作用,方便你組織和編寫腳本。一個(gè)注釋的例子如下所示:
// 將影片剪輯myMC的透明度設(shè)置為50%
myMC._alpha = 50;
該例的第1行是注釋,注釋以雙斜線//開頭,在//后面你可以輸入任意的文本和符號(hào),F(xiàn)lash會(huì)自動(dòng)將注釋部分用灰色標(biāo)示。
上例是將注釋專門放在一行中,你也可以將注釋放在一行代碼的后面,如下所示:
myMC._alpha = 50;     // 將影片剪輯myMC的透明度設(shè)置為50%
只要使用//符號(hào),F(xiàn)lash就會(huì)忽略它后面的部分。
3.5  調(diào)試腳本
無論在編寫程序時(shí)有多么細(xì)心,每個(gè)程序員都避免不了要調(diào)試程序。要學(xué)好ActionScript,你就得熟練掌握調(diào)試程序的方法。在Flash MX中調(diào)試程序有3種方法:邏輯推斷、向輸出窗口發(fā)送信息和使用腳本調(diào)試器。
3.5.1  邏輯推斷
許多程序錯(cuò)誤其實(shí)很簡(jiǎn)單,也很容易解決,并不需要專門的調(diào)試工具。當(dāng)程序出現(xiàn)錯(cuò)誤時(shí),你應(yīng)對(duì)錯(cuò)誤出現(xiàn)在哪里有一個(gè)大致的把握。
就算你不知道問題出在哪里,但通過細(xì)心閱讀代碼,你也有可能找到它。你可以思考一下,你要實(shí)現(xiàn)的效果是什么?現(xiàn)在的效果與你的設(shè)想有多大差距?是什么原因造成了這種差距?修改哪些部分有望改正這種錯(cuò)誤?經(jīng)過反復(fù)思考、修改和調(diào)試,你對(duì)程序的理解就會(huì)不斷加深,你的程序也會(huì)越來越趨于正確。
沒有人比你更了解你自己的程序,所以對(duì)你來說,你編寫的程序最先宜采用邏輯推斷的方法進(jìn)行調(diào)試。還有一些錯(cuò)誤或漏洞隱藏得比較深,這就需要借助于調(diào)試工具。
3.5.2  輸出窗口
輸出窗口是一個(gè)簡(jiǎn)單而實(shí)用的調(diào)試工具,在程序中可以使用trace命令將特定的信息發(fā)送到輸出窗口中,這些信息可以幫助你了解代碼的運(yùn)行情況。
前面我們已經(jīng)介紹過輸出窗口,這里就不再贅述了。
3.5.3  調(diào)試器
調(diào)試器是一個(gè)更專業(yè)的調(diào)試工具,它是Flash MX中的一個(gè)窗口,通過調(diào)試器可以查看影片中的各種數(shù)據(jù)以及ActionScript代碼的運(yùn)行情況。
選擇“控制”→“調(diào)試影片”命令,或按快捷鍵Ctrl+Shift+Enter,開始調(diào)試影片。與測(cè)試影片不同的是,調(diào)試影片時(shí)多了一個(gè)調(diào)試器窗口,如圖3-4所示。


圖3-4  調(diào)試器窗口
調(diào)試器窗口中包含很多窗格,在左邊的窗格中可以檢查Flash影片中不同類型的對(duì)象,右邊的窗格顯示影片中所有的ActionScript。
在調(diào)試器窗口中可以設(shè)置斷點(diǎn),斷點(diǎn)即是為某行代碼添加的一個(gè)標(biāo)記,當(dāng)調(diào)試影片時(shí),影片會(huì)自動(dòng)在斷點(diǎn)處停止,允許你查看當(dāng)前包括變量值在內(nèi)的的影片狀態(tài)。使用斷點(diǎn)可以使你逐行地執(zhí)行代碼,對(duì)每行代碼的運(yùn)行結(jié)果進(jìn)行觀察和分析。
初學(xué)ActionScript的時(shí)候,你可能并不需要使用調(diào)試器;但是當(dāng)你成長(zhǎng)為一名經(jīng)驗(yàn)豐富的程序員時(shí),你就會(huì)發(fā)現(xiàn)它對(duì)你是非常有用的。

相關(guān)文章

最新評(píng)論