亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 辦公 > Flash > 正文

flashas菜鳥入門教程下載第1/2頁

2024-09-12 17:50:56
字體:
來源:轉載
供稿:網友
ActionScript編程初步   


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


圖3-1  在動作面板中輸入trace命令
(6)按Ctrl+Enter鍵測試影片,因為舞臺中沒有任何圖像,所以你將看到一個空白窗口,同時出現一個輸出窗口,窗口中顯示:I like ActionScript!如圖3-2所示。


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


圖3-3  輸出窗口的下拉菜單
下拉菜單的最后一項命令是“調試級別”,你可以選擇“錯誤”、“警告”、“詳細”中的一種,如果選擇“無”,將不顯示任何信息。
3.4  ActionScript基本語法
前面介紹了程序的基本結構,下面要講解ActionScript中的基本語法。
3.4.1  變量
1.設置變量
在ActionScript中使用變量的方法很簡單,你只需要為變量名分配一個值,例如:
myVariable = 7;
該例在創建名為myVariable的變量的同時將其值設置為7,你可以為變量任意取一個名字,而并不需要使用本例中的myVariable。
可以使用輸出窗口查看變量的值,如在一個空白影片第一幀的動作面板中添加如下ActionScript:
x = 7;
trace(x);
首先,數字7被存儲在變量x中;然后,使用trace命令將變量x的值發送到輸出窗口。影片播放時,輸出窗口中會顯示數字7。
2.全局變量
根據變量作用的范圍不同可將變量分為全局變量和局部變量。
全局變量就是可以作用在整個Flash影片的所有深度級別上的變量。你可以在某一幀中設置它,并在其他幀中使用和改變它的值。
你不需要使用特別的方法創建全局變量,像前一個例子一樣,直接設置并使用它,它自動成為一個全局變量。
在許多編程語言中,全局變量可以在任何地方使用。Flash影片使用一個概念叫層級(level)。整修影片的主時間軸作為根(root)層級,影片剪輯是時間軸中的小影片。影片剪輯中的圖形和腳本要比根層級低一個級別。影片剪輯不能直接使用根層級中的全局變量。
3.局部變量
局部變量只能存在于當前腳本中,而在其他幀中它將不再存在。你可以在使用同一個變量名在不同的幀中創建不同的局部變量,它們之間將互不影響。
局部變量可用來創建模塊化的代碼。當前腳本執行完時,局部變量將被從內存中刪除;而全局變量將保留到影片結束。
創建局部變量需要使用關鍵字var。例如,下面的ActionScript創建值為15的局部變量myLocalVariable:
myLocalVariable = 15;
使用var創建局部變量后,在當前代碼中就不再需要使用關鍵字var了。例如,下面的代碼創建值為20的局部變量myLocalVariable,然后將其值改為8,再發送到輸出窗口中。
var myLocalVariable = 20;
myLocalVariable = 8;
trace(myLocalVariable);
如果沒有特殊的需要,請盡量使用局部變量。
12下一頁閱讀全文
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一区中文字幕| 欧美一级视频免费在线观看| 日本午夜精品理论片a级appf发布| 亚洲香蕉伊综合在人在线视看| 伊人久久久久久久久久久久久| 亚洲精品国产品国语在线| 欧美精品激情视频| 欧美亚洲视频在线看网址| 亚洲自拍偷拍福利| 4k岛国日韩精品**专区| 久久中文字幕一区| 97在线视频免费播放| 美日韩精品免费视频| 欧美日韩亚洲一区二区三区| 日韩av在线天堂网| 日韩国产精品视频| 亚洲天堂av在线免费观看| 欧美日韩在线视频首页| 欧美激情亚洲精品| 亚洲第一网中文字幕| 亚洲摸下面视频| 亚洲精品mp4| 亚洲午夜精品久久久久久久久久久久| 欧美性猛交xxxx乱大交蜜桃| 欧美午夜精品久久久久久人妖| 欧美激情免费观看| 亚洲欧洲在线观看| 欧美精品aaa| 色综合久久精品亚洲国产| 日韩在线视频中文字幕| 国语自产偷拍精品视频偷| 欧美激情女人20p| 91av在线视频观看| 岛国av一区二区在线在线观看| 亚洲级视频在线观看免费1级| 日韩亚洲欧美中文高清在线| 97在线视频免费看| 日本道色综合久久影院| 日韩av免费在线| 国产激情久久久久| 色噜噜狠狠狠综合曰曰曰88av| 国产最新精品视频| 狠狠躁天天躁日日躁欧美| 欧美成年人视频网站欧美| 日本久久久久亚洲中字幕| 午夜精品一区二区三区在线播放| 成人精品在线观看| 久久久黄色av| 人人爽久久涩噜噜噜网站| 欧美色videos| 国产综合色香蕉精品| 国产精品亚洲欧美导航| 日韩成人小视频| 日韩精品在线电影| 亚洲缚视频在线观看| 一区二区欧美日韩视频| 亚洲精品天天看| 日韩在线观看免费| 精品久久久久久中文字幕一区奶水| 欧美一区二区大胆人体摄影专业网站| 5566成人精品视频免费| 欧美国产在线电影| 国产一区二区久久精品| 国产精自产拍久久久久久蜜| 成人日韩在线电影| 成人精品视频99在线观看免费| 久久久久久久999精品视频| 国产精品激情av电影在线观看| 国产91免费观看| 尤物九九久久国产精品的分类| 久久中国妇女中文字幕| 日韩在线视频二区| 性色av一区二区三区红粉影视| 久久亚洲精品中文字幕冲田杏梨| 中文字幕av日韩| 亚洲第一二三四五区| 在线看日韩av| 国产日韩在线一区| 国产精品xxxxx| 欧美一级成年大片在线观看| 日韩精品欧美国产精品忘忧草| 欧美在线观看一区二区三区| 中文字幕国产亚洲2019| 亚洲高清不卡av| 在线观看免费高清视频97| 日韩久久精品成人| 久久躁日日躁aaaaxxxx| 亚洲美女又黄又爽在线观看| 国产女同一区二区| 91精品国产91久久久久久久久| 2021久久精品国产99国产精品| 欧美在线视频免费播放| 高跟丝袜一区二区三区| 亚洲国产一区二区三区四区| 成人久久精品视频| 久久av在线看| 97色在线观看| 成年人精品视频| 亚洲男人天堂2023| 亚洲乱码av中文一区二区| 国产+成+人+亚洲欧洲| 久久久人成影片一区二区三区| 国产精品女视频| 97超碰国产精品女人人人爽| 日韩动漫免费观看电视剧高清| 在线观看视频亚洲| 中文字幕精品一区二区精品| 91视频88av| 亚洲欧美日韩直播| 亚洲全黄一级网站| 日韩视频永久免费观看| 97超级碰碰碰久久久| 欧美视频专区一二在线观看| 国产美女精品视频免费观看| 九九久久久久久久久激情| 中文.日本.精品| 91高清免费在线观看| 精品久久久久久国产| 欧美激情国内偷拍| 欧美在线视频免费播放| 亚洲成人免费在线视频| 欧美成人免费播放| 欧美亚洲激情视频| 欧美性一区二区三区| 欧美大荫蒂xxx| 成人欧美在线观看| 成人黄色av免费在线观看| 欧美黑人巨大精品一区二区| 久久免费国产精品1| 深夜精品寂寞黄网站在线观看| 777国产偷窥盗摄精品视频| 亚洲一级免费视频| 日韩在线视频观看正片免费网站| 日本国产高清不卡| 欧美精品亚州精品| 日韩在线免费视频观看| 国内免费精品永久在线视频| 97在线免费观看视频| 欧美国产日韩视频| 国产精品久久99久久| 欧美日韩一区免费| 欧美性xxxx18| 日韩免费观看网站| 亚洲人精品午夜在线观看| 亚洲人成网7777777国产| 久久精品中文字幕一区| 亚洲精品日韩激情在线电影| 欧美理论电影在线播放| 国产精品久久久久久av福利| 亚洲自拍在线观看| 福利视频导航一区| 国产一区二区三区直播精品电影| 欧美成人精品一区二区| 久久在线免费视频| 伊人伊成久久人综合网小说| 国产一区二区在线播放| 国产视频999| 在线日韩日本国产亚洲| 亚洲第一色在线| 日韩精品极品在线观看播放免费视频| 伊人成人开心激情综合网| 免费91在线视频| 欧美激情网站在线观看| 日韩亚洲一区二区|