當前位置:成語大全網 - 漢語詞典 - 如何使用FLASH腳本變量?

如何使用FLASH腳本變量?

變量是存儲信息的容器。容器本身總是壹樣的,但是內容可以改變。播放動畫時,可以記錄並保存用戶操作的信息,記錄播放動畫時的變化值,或者計算某些條件的真假。

第壹次定義變量時,最好給它賦壹個已知值,這個值叫做初始化變量。初始化變量通常在動畫的第壹幀完成。初始化變量讓我們在播放動畫時更容易跟蹤和比較變量的值。

變量可以存儲任何類型的數據:數值、字符串、邏輯值、對象或電影剪輯。在腳本中為變量賦值時,變量中存儲的數據類型會影響變量值的變化。

變量可以存儲的典型信息類型包括URL、用戶名、數學運算結果、事件發生的次數或按鈕是否被單擊。每個動畫或影片剪輯實例都有自己的壹組變量,每個變量都有自己的值,與其他動畫或影片剪輯中的變量無關。

首先,命名變量

命名變量時,必須遵守以下規則:

變量名必須是標識符。

變量名不能是關鍵字或邏輯常數(true或false)。

變量名在其作用域內必須是唯壹的(參見變量作用域)。

二、變量的類型

在Flash中,不需要顯式定義變量是存儲的數值、字符串還是其他數據類型。當給變量賦值時,Flash自動確定變量的數據類型:

x = 3;

在表達式x = 3中,Flash計算運算符右邊的元素,並確定它屬於數值類型。後續的賦值操作會改變x的類型,比如x = "hello "會把x的類型改為字符串類型。未賦值變量的數據類型未定義。

當表達式請求時,ActionScript會自動轉換數據類型。例如,當您將壹個值傳遞給trace操作時,trace會自動將該值轉換為字符串,並將其發送到“輸出”窗口。在包含運算符的表達式中,ActionScript根據需要轉換數據類型。例如,當使用字符串時,+運算符要求另壹個操作數也是字符串:

"下壹個,號碼"+br & gt;ActionScript將值7轉換為字符串“7”,並將其添加到第壹個字符串的末尾,以生成以下字符串:

下壹個,7號

調試腳本時確定表達式或變量的數據類型非常有用,可以了解它們在動畫中扮演什麽角色。使用typeof運算符確定表達式或變量的類型,如下例所示:

trace(type of(variableName));

使用Number函數,您可以將字符串轉換為數值。使用String函數,可以將數值轉換為字符串。請在ActionScript字典中查看它們各自的條目。

變量的範圍

變量的範圍指的是它可以被識別和引用的區域。在ActionScript中,變量可以是全局的,也可以是局部的。全局變量可以在所有時間軸上共享;局部變量只在它們所在的代碼塊(大括號之間)中有效。

可以用var語句在腳本中聲明局部變量。例如,變量I和J經常被用作循環計數器。在下面的示例中,I用作局部變量,它僅存在於函數makeDays中:

函數makeDays(){

var i

for(I = 0;我$ # @ 60;monthArray[月];i++ ) {

_root。Days.attachMovie( "DayDisplay ",I,I+2000);

_root。days . num = I+1;

_root.Days._x =列* _ root.Days. _ width

_ root . days . _ y = row * _ root . days . _ height;

列=列+1;

if (column == 7 ) {

列= 0;

row = row+1;

}

}

}

使用局部變量有助於防止名稱沖突。在動畫中,名字的沖突會造成錯誤。例如,如果使用name作為局部變量,則可以用它在壹個腳本中存儲用戶名,在另壹個腳本中存儲影片剪輯實例名,因為這些變量存在於不同的範圍內,不會發生沖突。

最好在函數體中使用局部變量。這樣,這個函數就可以作為壹段獨立的代碼來使用。局部變量僅在其代碼塊中是可變的。如果函數中的表達式使用了全局變量,函數外部的壹些操作可能會改變它的值,因此函數可能會被改變。

第四,聲明變量

可以使用setVariables操作或賦值運算符(=)來聲明全局變量,這兩種方法的結果是相同的。

使用var語句在函數體中聲明局部變量。局部變量的範圍限於聲明它的代碼塊,在代碼塊的末尾變得無效。沒有在代碼塊中聲明的局部變量在其腳本結束時變得無效。

註意:調用動作可以為它調用的腳本創建壹個新的局部變量作用域。當退出被調用的腳本時,局部變量變得無效。但是,在Flash 5中,建議將call動作替換為with動作。With action更符合點語法。

若要測試變量值,可以使用trace操作將變量值傳輸到輸出窗口。