Flash MX2004入門與進(jìn)階實例——動作腳本(3)_Flash教程
推薦:Flash MX2004入門與進(jìn)階實例——動作腳本(2)第六章動作腳本入門第一節(jié)【動作】面板的使用方法(2)(2)固定動作腳本利用“腳本導(dǎo)航器”可以快速瀏覽影片不同位置的動作腳本,但是假如你的影片中動作
第六章 動作腳本入門第二節(jié) 變量、函數(shù)與語法規(guī)范(1)
現(xiàn)在開始學(xué)習(xí)ActionScript編程的基礎(chǔ)知識,學(xué)習(xí)ActionScript程序的一些基本結(jié)構(gòu)。通過這一節(jié)的學(xué)習(xí),我們要從開始就養(yǎng)成正確閱讀和書寫ActionScript程序的習(xí)慣。
首先,我們一起來看一段定義在一個按鈕上的小程序:
on (release) {
var myNumber = 7;
var myString = "Flash MX 2004 ActionScript";
for (var i = 0; i<myNumber; i ) {
trace(i);
if (i 3 == 8) {
trace(myString);
}
}
}
我們發(fā)現(xiàn)ActionScript程序其實就是由一些命令、數(shù)字和一些符號組成,是不是不難呢?當(dāng)你測試包含以上小程序的影片時,單擊按鈕,就可以看到這段小程序的輸出效果,如圖6-2-1所示。

圖6-2-1 程序運(yùn)行情況
有了初步的熟悉,下面我們來學(xué)一些基本的概念。
1.常量
常量就是一種屬性,是指在程序運(yùn)行中不會改變的量。例如上面程序代碼中的數(shù)值3、7、8和字符串“Flash MX 2004 ActionScript”都是常量。邏輯常量True和False在編程的時候也會經(jīng)常用到。
2.變量
顧名思義,變量就是程序運(yùn)行中可以改變的量。例如上面例子中的i,就是變量,它從0一直變到6。可以看出,我們在編寫程序時往往需要存儲很多的信息,就需要變量來存儲這些信息。
Variables(變量):存儲了任意數(shù)據(jù)類型值的標(biāo)識符。
變量實際上就是一個信息容器。容器本身總是相同的,但是容器中的內(nèi)容卻可以修改。通過在電影播放時修改變量中的值,然后判定某些條件的真假等。例如,假如需要重復(fù)執(zhí)行10次相同的命令,你就可以對命令的執(zhí)行次數(shù)進(jìn)行記數(shù),判定次數(shù)是否滿10,滿10次就終止。
變量可以存放任何數(shù)據(jù)類型,包括數(shù)字值(如:myNumber)、字符串值(如:myString)、邏輯值、對象或電影剪輯等。
存儲在變量中的信息類型也很豐富,包括:URL、地址、用戶名、數(shù)學(xué)運(yùn)算結(jié)果、事件發(fā)生的次數(shù)或按鈕是否被單擊等。
變量可以創(chuàng)建、修改和更新。變量中存儲的值可以被腳本檢索使用。在以下示例中,等號左邊的是變量標(biāo)識符,右邊的則是賦予變量的值。
x=5;
name=“Lolo”;
customer.address=“66 7th Street”;
c=new Color(mcinstanceName);
變量由兩部分構(gòu)成:變量名和變量的值。
下面我們來看看變量如何使用:
(1)變量命名與規(guī)則
變量名必須符合以下原則:
u 變量的名稱必須以英文字母開頭。
u 變量的名稱中間不能有空格,像box sum這個就是一個錯誤的示范。假如想用兩個單詞以上的單字來命名變量,可以在名稱中間加上下劃線符號,如:box_sum。
u 變量的名稱中不能使用除了“_”(下劃線)以外的符號。
u 不能使用與命令(要害字)相同的名稱,例如,“var”、“new”等,以免程序出現(xiàn)錯誤。
u 變量的名稱最好能達(dá)到“見名知意”的效果,盡量使用有意義的名稱,而避免使用諸如a_1、x、z001之類意義不明的名稱。
(2)變量的類型
變量的類型包括存儲數(shù)值、字符串或其他數(shù)據(jù)類型。
在Flash中,可以不直接定義變量的數(shù)據(jù)類型。當(dāng)變量被賦值時,F(xiàn)lash自動確定變量的數(shù)據(jù)類型。例如:
x=3;
在表達(dá)式x=3中,F(xiàn)lash將取得運(yùn)算符右邊的值,確定它是數(shù)值類型。此后的賦值語句又可能改變x的類型。例如,x=“hello”語句可以將x的數(shù)據(jù)類型改為字符串值。沒有賦值的變量,其數(shù)據(jù)類型為undefined。
ActionScript會在表達(dá)式需要時自動轉(zhuǎn)換數(shù)據(jù)類型。例如,當(dāng)我們將一個值傳遞給Trace動作時,Trace會自動將其值改變?yōu)樽址l(fā)送到【輸出】面板。在包含運(yùn)算符的表達(dá)式中,ActionScript會在需要時轉(zhuǎn)換數(shù)據(jù)類型。例如,在和字符串連用時,加號( )運(yùn)算符會將其他運(yùn)算項也轉(zhuǎn)換成字符串。
Next in line,“number” 7
ActionScript將數(shù)字7轉(zhuǎn)換為字符串“7”,然后添加到第一個字符串的末尾,得到的結(jié)果是以下字符串:
“Next in line,number7”
在調(diào)試腳本時,確定表達(dá)式或變量的數(shù)據(jù)類型是常用的手段。使用Typeof運(yùn)算符就可以做到這一點。例如:
Trace(Typcof(VariableNema));
使用Number函數(shù),可以把字符串轉(zhuǎn)換為數(shù)字值。
使用String函數(shù),可以把數(shù)字值轉(zhuǎn)換為字符串值。
(3)變量的作用域
所謂變量的作用域,是指能夠識別和引用該變量的區(qū)域。也就是變量在什么范圍內(nèi)是可以訪問的。在ActionScript中有3種類型的變量區(qū)域:
本地(局部)變量:在自身代碼塊中有效的變量(在大括號內(nèi))。就是在聲明它的語句塊內(nèi)(例如一個函數(shù)體)是可訪問的變量,通常是為避免沖突和節(jié)省內(nèi)存占用而使用。
時間軸變量:可以在使用目標(biāo)路徑指定的任何時間軸內(nèi)有效。時間線范圍變量聲明后,在聲明它的整個層級(Level)的時間線內(nèi)它是可訪問的。
全局變量:即使沒有使用目標(biāo)路徑指定,也可以在任何時間軸內(nèi)有效。就是在整個 Movie 中都可以訪問的變量
注重它們的區(qū)別:全局變量可以在整個Movie中共享;局部變量只在它所在的代碼塊(大括號之間)中有效。
分享:Flash MX2004入門與進(jìn)階實例——動作腳本(1)第六章動作腳本入門第一節(jié)【動作】面板的使用方法(1)Flash提供了一個專門處理動作腳本的編輯環(huán)境——【動作】面板。默認(rèn)情況下,【動作】面板自動出現(xiàn)在Fla
- 相關(guān)鏈接:
- 教程說明:
Flash教程-Flash MX2004入門與進(jìn)階實例——動作腳本(3)
。