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