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

flashas菜鳥入門教程下載第1/2頁(yè)

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


計(jì)算機(jī)程序是由命令、函數(shù)、運(yùn)算符、條件和循環(huán)等結(jié)構(gòu)組成的。命令是為計(jì)算機(jī)下達(dá)的一系列指令,函數(shù)執(zhí)行計(jì)算和返回值,通過運(yùn)算符將若干數(shù)據(jù)以某種特定的方式結(jié)合起來(lái),條件測(cè)試一個(gè)或多個(gè)值以返回一個(gè)為true或false的布爾值,循環(huán)結(jié)構(gòu)使得程序能夠重復(fù)執(zhí)行一系列相同的指令。
變量是存儲(chǔ)數(shù)據(jù)的容器,變量有變量名和變量值。
編程是一項(xiàng)需要耐心的工作,首先你必須理解要用程序解決什么樣的問題,然后需要將這個(gè)問題分解成若干步驟,將每個(gè)步驟再分成更小的步驟,直到每個(gè)步驟都小得很容易解決了為止。
程序編寫好后,可能會(huì)存在許多漏洞或缺陷,所以你還需要對(duì)程序進(jìn)行調(diào)試,直到程序能正確運(yùn)行為止。 
  3.1  程序基本結(jié)構(gòu)
計(jì)算機(jī)程序是由命令、函數(shù)、運(yùn)算符、條件和循環(huán)等結(jié)構(gòu)組成的。
3.1.1  命令、函數(shù)和運(yùn)算符
在此之前,我們都是用關(guān)鍵字來(lái)描述ActionScript中的元素,如關(guān)鍵字gotoAndPlay,它也是一個(gè)命令。
命令是ActionScript中用來(lái)告訴Flash所要執(zhí)行的特定操作的元素。之所以稱之為命令,就是因?yàn)樗鼘⒈粐?yán)格的遵照?qǐng)?zhí)行,如果要用gotoAndPlay跳轉(zhuǎn)到一個(gè)不存在的幀,這樣的命令就不能被執(zhí)行。
命令是程序中最基本的元素,在Flash中如果不使用命令,幾乎不能進(jìn)行任何操作。從本書中你將學(xué)到很多命令。
函數(shù)是ActionScript中用來(lái)執(zhí)行計(jì)算和返回結(jié)果的元素。例如,一個(gè)特定的函數(shù)可以計(jì)算并返回一個(gè)指定數(shù)的平方根。
命令和函數(shù)都可以使用參數(shù)。參數(shù)就是傳遞給命令或函數(shù)的一個(gè)值。如gotoAndPlay命令就至少需要一個(gè)幀編號(hào)或幀標(biāo)簽作為參數(shù)。求平方根的函數(shù)也需要一個(gè)數(shù)值作為參數(shù)。
與命令和函數(shù)不同的是運(yùn)算符,它們主要是一些符號(hào),而不是字母。例如,+運(yùn)算符執(zhí)行兩數(shù)相加的操作。
在ActionScript程序中你將會(huì)用到大量的命令、函數(shù)和運(yùn)算符。
3.1.2  變量
要編寫復(fù)雜的計(jì)算機(jī)程序往往需要存儲(chǔ)很多的信息。有時(shí)你可能只需要存儲(chǔ)很短暫的時(shí)間,例如,如果需要重復(fù)執(zhí)行10次相同的命令,你就需要對(duì)命令的執(zhí)行次數(shù)進(jìn)行記數(shù),直到滿10次為止。
所有的編程語(yǔ)言都使用變量來(lái)存儲(chǔ)信息。一個(gè)變量由兩部分構(gòu)成:變量名和變量的值。
1.變量名
變量名通常是一個(gè)單詞或幾個(gè)單詞構(gòu)成的字符串,也可以是一個(gè)字母??偟膩?lái)說,你需要盡可能地為變量指定一個(gè)有意義的名稱。
例如,如果你要使用變量存儲(chǔ)用戶的姓名,用userName作為變量名將是一個(gè)很好的選擇。如果你使用n作變量名,似乎太短了一點(diǎn);如果使用name,又可能與影片中其他對(duì)象的名稱相混淆。
在ActionScript中為變量指定變量名時(shí)已經(jīng)形成了一種不成文的規(guī)范,就是變量名通常以小寫字母開頭,當(dāng)一個(gè)新的單詞出現(xiàn)時(shí),大寫這個(gè)新單詞的第一個(gè)字母,如userName,長(zhǎng)一點(diǎn)的例子如currentUserFirstName。
變量名中不允許出現(xiàn)空格,也不允許出現(xiàn)特殊符號(hào),但是可以使用數(shù)字。
2.變量類型
你可以用變量存儲(chǔ)不同類型的數(shù)據(jù)。數(shù)字是最簡(jiǎn)單的變量類型。
你可以在變量中存儲(chǔ)兩種不同類型的數(shù)字:整數(shù)和浮點(diǎn)數(shù)。整數(shù)沒有小數(shù)點(diǎn)部分,如117、-3685都是整數(shù)。浮點(diǎn)數(shù)有小數(shù)點(diǎn)部分,如0.1、532.23、-3.7都是浮點(diǎn)數(shù)。
你也可以在變量中存儲(chǔ)字符串,字符串就是由字符組成的序列,可以是一個(gè)或多個(gè)字符,甚至可以沒有字符,即空字符串。
使用引號(hào)定義字符串,使其與其他變量相區(qū)別。如7是一個(gè)數(shù)字,而“7”則是一個(gè)字符串,這個(gè)字符串由一個(gè)字符7組成。
在別的編程語(yǔ)言中,你可能需要在程序的開頭部分提前定義程序中要用到的變量的具體類型,但在ActionScript中不需要預(yù)先聲明變量,你只需要直接使用它們,F(xiàn)lash在第一次遇到它們的時(shí)候會(huì)自動(dòng)為它們創(chuàng)建變量。
另外,變量所能存放的數(shù)據(jù)類型也沒有嚴(yán)格的限定,某一變量可以在一個(gè)位置存放字符串,而在另一個(gè)位置存放數(shù)字。
這種靈活性并不是經(jīng)常用得到,但是它可以讓程序員們少一些不必要的擔(dān)心。
ActionScript程序員不必?fù)?dān)心的另一個(gè)問題是廢棄變量的空間回收問題。即當(dāng)你不再需要使用一個(gè)變量的時(shí)候,你可能需要收回該變量占用的存儲(chǔ)空間。大多數(shù)現(xiàn)代的計(jì)算機(jī)語(yǔ)言如ActionScript都可以自動(dòng)回收空間,所以你也不必?fù)?dān)心了。
除數(shù)字和字符串類型外還有一些別的變量數(shù)據(jù)類型。例如,數(shù)組可以存放一系列的數(shù)據(jù)而非單個(gè)數(shù)據(jù)。
3.1.3  條件
程序本身并不能作出抽象的決定,但是它可以獲取數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行分析比較,然后根據(jù)分析結(jié)果執(zhí)行不同的任務(wù)。
例如,你想要檢查用戶輸入的名字并確定其至少包含3個(gè)字母。程序需要做的事情就是對(duì)用戶名作出判斷,如果是3個(gè)或更多的字母,就執(zhí)行一種操作;如果不足3個(gè)字母則執(zhí)行另一種操作。
這里,作出一個(gè)決定需要兩步,第一步是檢查條件是否滿足,如果名稱符合3個(gè)字母長(zhǎng)度,條件滿足,我們稱條件的值為真(true);否則條件不滿足,我們稱條件的值為假(false)。所有的條件都必須是兩個(gè)值中的一種,要么為真,要么為假。要么為真(true)要么為假(false)的數(shù)據(jù)類型稱為布爾(boolean)類型。
決定的第二步是根據(jù)條件為true或?yàn)閒alse的情況選擇要執(zhí)行哪些代碼。有時(shí)只有一個(gè)選項(xiàng),當(dāng)條件為true時(shí)執(zhí)行該選項(xiàng);如果條件為false,將不執(zhí)行任何代碼。有時(shí)會(huì)有兩個(gè)相對(duì)的選項(xiàng),條件為true和false時(shí)分別執(zhí)行不同的代碼。
例如,你想讓計(jì)算機(jī)根據(jù)一個(gè)變量的值是1、2或3執(zhí)行3種不同的任務(wù),可以像這樣表達(dá):
如果變量的值等于1,執(zhí)行命令1
如果變量的值等于2,執(zhí)行命令2
如果變量的值等于3,執(zhí)行命令3
條件總是建立在比較之上的,你可以比較兩個(gè)變量的值以判斷它們是否相等;或者判斷一個(gè)是否大于另一個(gè),或是小于另一個(gè)。如果變量是字符串類型,你可以比較它們按字典順序排列時(shí)的先后次序。
3.1.4  循環(huán)
與人不同,計(jì)算機(jī)很適合做重復(fù)性的工作。一件事情僅僅重復(fù)幾次就可能使人厭倦,但是讓計(jì)算機(jī)重復(fù)執(zhí)行成千上萬(wàn)次它都照樣有耐心。
循環(huán)在每種編程語(yǔ)言中都是一個(gè)很重要的部分,ActionScript也不例外。你可以指定一條指令執(zhí)行給定的次數(shù),或者令其執(zhí)行到滿足指定的條件為止。
事實(shí)上,條件是循環(huán)中的重要組成部分,整個(gè)循環(huán)只需要一個(gè)開始點(diǎn),一個(gè)結(jié)束點(diǎn),再加上一個(gè)標(biāo)志循環(huán)結(jié)束的條件。
例如,你需要循環(huán)10次,使用一個(gè)變量從0開始計(jì)數(shù)。每循環(huán)一次,計(jì)數(shù)加1。當(dāng)計(jì)數(shù)變量達(dá)到10時(shí),循環(huán)結(jié)束,程序繼續(xù)執(zhí)行循環(huán)以后的部分。下面的內(nèi)容代表了一個(gè)標(biāo)準(zhǔn)的循環(huán)結(jié)構(gòu):
(1)循環(huán)以前的命令。
(2)循環(huán)開始,計(jì)數(shù)變量置0。
(3)循環(huán)中的命令。
(4)計(jì)數(shù)變量加1。
(5)如果計(jì)數(shù)變量小于10,執(zhí)行步驟(3)。
(6)循環(huán)以后的命令。
在上面的步驟中,步驟(1)只執(zhí)行1次,步驟(2)表示循環(huán)的開始,步驟(3)、(4)、(5)都將執(zhí)行10次,當(dāng)循環(huán)結(jié)束后,執(zhí)行步驟(6)及以后的部分。
3.2  ActionScript之一角
當(dāng)你在編寫自己的腳本時(shí),你會(huì)用到各種各樣不同的關(guān)鍵字和符號(hào),為便于你熟悉腳本的構(gòu)成,下面先來(lái)看一個(gè)真實(shí)的例子。
這是一段作用于按鈕的腳本,當(dāng)用戶單擊按鈕時(shí)(確切地說是松開按下的按鈕時(shí))執(zhí)行它。其中沒有包含特殊的函數(shù),但是它體現(xiàn)了ActionScript的主要結(jié)構(gòu)。
on (release) {
    var myNumber = 7;
    var myString = "Flash MX ActionScript";
    for (var i=0; i<myNumber; i++) {
        trace(i);
        if (i + 3 == 8) {
            trace(myString);
        }
    }
}
腳本的第1行表明當(dāng)用戶松開按下的按鈕時(shí)執(zhí)行大括號(hào)中的語(yǔ)句。on (release)結(jié)構(gòu)只能用于按鈕,其他相關(guān)的幾種用法如on(press)、on(rollOver)、on(rollout)、on(dragOver)、on(dragOut)等。
第1行末尾的大括號(hào){表示一段相對(duì)獨(dú)立的代碼段的開始。從{到與之相對(duì)的}之間的代碼是一個(gè)整體,它們都從屬于按鈕的release事件。
請(qǐng)注意,大括號(hào)之后的代碼較之第1行有一個(gè)制表符(按一次Tab鍵)的縮進(jìn),其后的每行代碼與之具有相同的縮進(jìn)程度,直到一個(gè)新的大括號(hào)開始,在新大括號(hào)后的語(yǔ)句會(huì)比前面的語(yǔ)句增加一個(gè)制表符的縮進(jìn),以此類推,這種特點(diǎn)與其他編程語(yǔ)言是類似的。Flash會(huì)自動(dòng)將你添加的代碼設(shè)置成正確的縮進(jìn)樣式。
代碼的第1行創(chuàng)建一個(gè)名為myNumber的局部變量,并將該變量的值設(shè)置為7。下面一行將字符串Flash MX ActionScript賦給另一個(gè)變量myString。稍后我們會(huì)更詳細(xì)的介紹變量的兩種類型:局部變量和全局變量。
分號(hào);表示一條指令的結(jié)束,在每個(gè)完整指令的末尾都應(yīng)該添加分號(hào)。
for代表一個(gè)循環(huán)結(jié)構(gòu)的開始,此處的循環(huán)執(zhí)行7(myNumber)次,即令i從0遞增到6,每遞增1便執(zhí)行一次循環(huán)結(jié)構(gòu)中的語(yǔ)句。for后面大括號(hào)中的部分即為循環(huán)體。
命令trace將它后面括號(hào)中的內(nèi)容發(fā)送到輸出窗口。我們將在下一部分詳細(xì)介紹輸出窗口。
if是一種條件結(jié)構(gòu),它測(cè)試后面的內(nèi)容i + 3 == 8是否為true,如果為true,則執(zhí)行后面的語(yǔ)句;否則跳過該代碼段。
if結(jié)構(gòu)中只有一個(gè)trace命令,它將變量myString的值發(fā)送到輸出窗口。
上例腳本以三個(gè)反向大括號(hào)}結(jié)束,第1個(gè)表示if語(yǔ)句的結(jié)束,第2個(gè)表示for語(yǔ)句的結(jié)束,第3個(gè)表示整個(gè)on(press)段結(jié)束。
3.3  輸出窗口
輸出窗口是只在測(cè)試Flash影片時(shí)出現(xiàn)的一個(gè)編程工具,F(xiàn)lash用它來(lái)顯示出錯(cuò)信息或其他的一些重要信息。用戶可以用ActionScript中的trace命令自定義要發(fā)送到輸出窗口中的信息。
輸出窗口在測(cè)試程序時(shí)非常有用。你可以使用trace命令在輸出窗口中顯示變量的值或者哪一部分ActionScript正在執(zhí)行。
輸出窗口還可以幫助你學(xué)習(xí)ActionScript。你可以編寫一些小程序,將信息發(fā)送到輸出窗口,這將幫助你看到程序的運(yùn)行結(jié)果。
要想熟悉輸出窗口,最好的方法就是多使用它。下面就來(lái)編寫一段小程序,將信息發(fā)送到輸出窗口。
(1)啟動(dòng)Flash MX。
(2)選中時(shí)間軸的第1幀,打開第1幀的動(dòng)作面板。
(3)使用右上角的菜單將動(dòng)作面板切換到專家模式。
(4)在腳本編輯區(qū)單擊鼠標(biāo),將鼠標(biāo)光標(biāo)定位到腳本編輯區(qū)中。
(5)在動(dòng)作面板中輸入如下ActionScript:
trace("I like ActionScript!");
此時(shí)的動(dòng)作面板如圖3-1所示。


圖3-1  在動(dòng)作面板中輸入trace命令
(6)按Ctrl+Enter鍵測(cè)試影片,因?yàn)槲枧_(tái)中沒有任何圖像,所以你將看到一個(gè)空白窗口,同時(shí)出現(xiàn)一個(gè)輸出窗口,窗口中顯示:I like ActionScript!如圖3-2所示。


圖3-2  輸出窗口顯示了trace命令中的信息
和動(dòng)作面板一樣,輸出窗口右上角也有一個(gè)下拉菜單,如圖3-3所示,其中包含了拷貝、清除、查找、保存到文件以及打印等命令。


圖3-3  輸出窗口的下拉菜單
下拉菜單的最后一項(xiàng)命令是“調(diào)試級(jí)別”,你可以選擇“錯(cuò)誤”、“警告”、“詳細(xì)”中的一種,如果選擇“無(wú)”,將不顯示任何信息。
3.4  ActionScript基本語(yǔ)法
前面介紹了程序的基本結(jié)構(gòu),下面要講解ActionScript中的基本語(yǔ)法。
3.4.1  變量
1.設(shè)置變量
在ActionScript中使用變量的方法很簡(jiǎn)單,你只需要為變量名分配一個(gè)值,例如:
myVariable = 7;
該例在創(chuàng)建名為myVariable的變量的同時(shí)將其值設(shè)置為7,你可以為變量任意取一個(gè)名字,而并不需要使用本例中的myVariable。
可以使用輸出窗口查看變量的值,如在一個(gè)空白影片第一幀的動(dòng)作面板中添加如下ActionScript:
x = 7;
trace(x);
首先,數(shù)字7被存儲(chǔ)在變量x中;然后,使用trace命令將變量x的值發(fā)送到輸出窗口。影片播放時(shí),輸出窗口中會(huì)顯示數(shù)字7。
2.全局變量
根據(jù)變量作用的范圍不同可將變量分為全局變量和局部變量。
全局變量就是可以作用在整個(gè)Flash影片的所有深度級(jí)別上的變量。你可以在某一幀中設(shè)置它,并在其他幀中使用和改變它的值。
你不需要使用特別的方法創(chuàng)建全局變量,像前一個(gè)例子一樣,直接設(shè)置并使用它,它自動(dòng)成為一個(gè)全局變量。
在許多編程語(yǔ)言中,全局變量可以在任何地方使用。Flash影片使用一個(gè)概念叫層級(jí)(level)。整修影片的主時(shí)間軸作為根(root)層級(jí),影片剪輯是時(shí)間軸中的小影片。影片剪輯中的圖形和腳本要比根層級(jí)低一個(gè)級(jí)別。影片剪輯不能直接使用根層級(jí)中的全局變量。
3.局部變量
局部變量只能存在于當(dāng)前腳本中,而在其他幀中它將不再存在。你可以在使用同一個(gè)變量名在不同的幀中創(chuàng)建不同的局部變量,它們之間將互不影響。
局部變量可用來(lái)創(chuàng)建模塊化的代碼。當(dāng)前腳本執(zhí)行完時(shí),局部變量將被從內(nèi)存中刪除;而全局變量將保留到影片結(jié)束。
創(chuàng)建局部變量需要使用關(guān)鍵字var。例如,下面的ActionScript創(chuàng)建值為15的局部變量myLocalVariable:
myLocalVariable = 15;
使用var創(chuàng)建局部變量后,在當(dāng)前代碼中就不再需要使用關(guān)鍵字var了。例如,下面的代碼創(chuàng)建值為20的局部變量myLocalVariable,然后將其值改為8,再發(fā)送到輸出窗口中。
var myLocalVariable = 20;
myLocalVariable = 8;
trace(myLocalVariable);
如果沒有特殊的需要,請(qǐng)盡量使用局部變量。

相關(guān)文章

最新評(píng)論