張 侃
摘 要:本文給出了Flash8文本框變量的使用方法,比較了不同情況使用變量的效果,給出了數(shù)值運算時變量的使用方式。
關(guān)鍵詞:Flash 變量 文本框
在Flash 8動畫制作過程中,經(jīng)常會使用文本框進行界面設(shè)計。在界面上增加文本框后,然后在AtionScript腳本編程中,經(jīng)常會面臨著引用文本框的問題。一般來說,可以通過文本框的Text屬性來引用文本框的內(nèi)容。例如,這里有一文本框為NameText,可以用NameText.Text來引用文本框輸入的內(nèi)容,或者向文本框賦值。
此外,文本框可以設(shè)置為輸入文本或動態(tài)文本,同時還可以給文本框賦一個變量,使得加進來的變量與動畫播放時文本框中輸入的值相一致,然后就可以直接通過變量來操作文本框了。
但是,在不同的操作環(huán)境中,對文本框的引用方式是不同的。在Flash8中,設(shè)置的變量是字符串,而不是數(shù)值類型,這一點經(jīng)常被忽視。另外,設(shè)置的變量不能直接參加數(shù)值運算。若要進行數(shù)值運算,必須使用Text屬性的形式,同時要用Number函數(shù)進行類型轉(zhuǎn)換。
一、實例分析
1.驗證
例如,現(xiàn)有下面一個界面:
這里面有一個輸入文本框t1,對應(yīng)變量為a1;一個動態(tài)文本框t2,對應(yīng)變量為a2。
按鈕的AtionScript 2.0腳本代碼為:
on(release){
a2=a1+3
}
如果輸入66,則輸出為663。
這說明變量a1,a2都為字符串類型。
若按鈕的腳本代碼改為:
on(release){
a2=Number(t1.text)+3
}
如果輸入66,則輸出為69。
這是參與數(shù)值運算的正確書寫形式。
若按鈕的腳本代碼改為:
on(release){
a2=Number(a1)+3
}
如果輸入66,則輸出為NaN。
這說明變量不能直接參與數(shù)值運算。
2.實例
下面以一個具體的實例加以說明。
本實例是求二元一次方程組的根,二元一次方程組的各個系數(shù)要通過動畫播放時的界面來輸入。下面是制作的界面:
同時在屬性窗口中設(shè)置第一個方程的系數(shù)對應(yīng)的變量為a1,b1,c1;第二個方程的系數(shù)對應(yīng)的變量為a2,b2,c2。方程的解x和y對應(yīng)的變量為r1,r2。
下面是求解按鈕的AtionScript 2.0腳本代碼:
on(release){
a11=Number(at1.text)
b11=Number(bt1.text)
c11=Number(ct1.text)
a21=Number(at2.text)
b21=Number(bt2.text)
c21=Number(ct2.text)
if ((a11 * b21 == a21 * b11) and (a11*c21 != a21 * c11)) {
r1 = "無解";
r2 = "無解";
} else if ((a11 * b21 == a21 * b11) and (a11*c21 == a21 * c11)) {
r1 = "無窮解";
r2 = "無窮解";
} else {
temmp1 = a11 * b21 - a21 * b11;
temmp2 = c11 * b21 - c21 * b11;
r1 = temmp1 / temmp2;
temmp1 = b11 * a21 - b21 * a11;
temmp2 = c11 * a21 - c21 * a11;
r2 = temmp2 /temmp1;
}
}
其中,at1,bt1 ,ct1 和at2,bt2 ,ct2都是文本框?qū)嵗拿Q,分別代表兩個方程的系數(shù)。
從上面的代碼中可以看到:要參與數(shù)值運算,必須使用文本框Text屬性的形式,同時必須使用Number函數(shù)把字符串轉(zhuǎn)換為數(shù)值,才能正確進行運算。
另一方面,當把一個具體的數(shù)值顯示在文本框中時,可以直接把此數(shù)值賦給文本框所屬的變量。具體情況,如上例所示。
二、結(jié)束語
在AtionScript腳本編程中,給文本框加變量,可以方便編程,減少代碼量。但是,要注意文本框表示的數(shù)據(jù)的類型。一般情況下,它隱含的是字符串類型,當它參加數(shù)值運算時,要注意使用文本框的Text屬性值的形式,并用Number函數(shù)進行顯式的轉(zhuǎn)換,而不能直接使用變量來參與運算。否則,會出現(xiàn)意想不到的錯誤。
參考文獻
[1]張國全,孫全黨,龍懷冰.Flash 8中文版精品動畫制作100例[M].北京:電子工業(yè)出版社,2006.
[2]黃東,石偉玉.Flash MX 2004中文版入門與提高實用教程[M].北京:中國鐵道出版社,2004.
[3]謝平.對FLASH加載外部變量的研究[J].北京教育學(xué)院學(xué)報(自然科學(xué)版),2008(8).