Flash AS教程:文本類(lèi)對(duì)象知識(shí)總結(jié)
2020-07-17 13:17:47
供稿:網(wǎng)友
文本是as中經(jīng)常用到的對(duì)象。下面分幾方面詳細(xì)說(shuō)說(shuō)有關(guān)文本的知識(shí),作為對(duì)近段學(xué)習(xí)的一個(gè)總結(jié)。同時(shí),希望對(duì)正在鉆研as的朋友有所幫助。
第一部分文本的創(chuàng)建與格式的定義一、有關(guān)文本的幾個(gè)概念
1、文本字段:文本字段是舞臺(tái)上的可見(jiàn)元素,要通過(guò)它向用戶(hù)顯示文本,可使用文本工具或使用 ActionScript 代碼創(chuàng)建。簡(jiǎn)單地說(shuō),文本字段就是俗話(huà)說(shuō)的“文字” 。
2、文本:是可在文本字段或用戶(hù)界面組件中顯示的一個(gè)或多個(gè)字符串系列。
文本與文本字段是兩個(gè)既有聯(lián)系又相互區(qū)別的兩個(gè)重要概念。
1、區(qū)別:文本所包含的元素有文本框的邊框、背景、在舞臺(tái)上的位置、尺寸大小、里面文字的格式等等。在as中用TextField類(lèi)的命令來(lái)定義。文本字段的元素包含文字的大小、顏色、對(duì)齊方式、字體等,在as中用TextFormat類(lèi)命令來(lái)定義。
2、聯(lián)系:實(shí)踐中總是通過(guò)TextFormat定義好文本格式,然后把這種格式應(yīng)用于TextField定義的文本。
文本格式設(shè)置可應(yīng)用于文本字段,或文本字段中的某些字符??蓱?yīng)用于文本的一些文本格式設(shè)置選項(xiàng)示例有:對(duì)齊、縮進(jìn)、粗體、顏色、字體大小、邊距寬度、斜體和字母間距。
二、文本對(duì)象的類(lèi)型type
文本對(duì)象共有三種類(lèi)型:
1、靜態(tài)文本:常用于顯示程序運(yùn)行過(guò)程中保持不變的文本。靜態(tài)文本一般不需要用as控制。
2、動(dòng)態(tài)文本("dynamic"):常用于在運(yùn)行過(guò)程中內(nèi)容需要變化的文本。用戶(hù)不能編輯動(dòng)態(tài)文本的內(nèi)容。動(dòng)態(tài)文本例如:游戲結(jié)束后,顯示用戶(hù)得分和評(píng)價(jià)的文本,是動(dòng)態(tài)文本。因?yàn)槊總€(gè)用戶(hù)在玩游戲的過(guò)程中,表現(xiàn)是不同的,所以評(píng)價(jià)也就不同。
3、輸入文本("input"):與用戶(hù)交互,由用戶(hù)輸入內(nèi)容的文本。例如:登錄各種網(wǎng)頁(yè)之前輸入的用戶(hù)名和密碼等等等。
對(duì)于用代碼創(chuàng)建的文本my_txt,可以通過(guò)定義type來(lái)設(shè)置其類(lèi)型:
my_txt.type="dynamic"-------定義為動(dòng)態(tài)文本;
my_txt.type="input"-------把my_txt定義為輸入文本。
輸入文本又有兩種類(lèi)型,明碼和密碼。可以 通過(guò)設(shè)置password的布爾值完成。
my_txt.password=true;-------輸入的文字顯示為密碼形式;
my_txt.password=false;------明碼顯示。
三、文本創(chuàng)建(TextField)
1、創(chuàng)建一個(gè)空白文本
文本類(lèi)對(duì)象不屬于頂級(jí)對(duì)象,想使用時(shí)需要先創(chuàng)建:
_root.creatTextField(參數(shù)1,參數(shù)2,參數(shù)3,參數(shù)4,參數(shù)5,參數(shù)6)
參數(shù)1是用字符串String表示,加雙引號(hào)。用于在舞臺(tái)上給創(chuàng)建的文本命名。一般用my_txt命名。
參數(shù)2是數(shù)值型變量,用于設(shè)置文本的深度。
參數(shù)3和4分別用于設(shè)置它在舞臺(tái)上橫坐標(biāo)與縱坐標(biāo);
參數(shù)5和6分別用于設(shè)置它在舞臺(tái)上的寬和高。
可見(jiàn),在創(chuàng)建的同時(shí),文本的實(shí)例名稱(chēng)、深度、位置、寬高都已經(jīng)定義好了。
2、設(shè)置文本格式
/**********要定義文本的其它格式,需要先創(chuàng)建一個(gè)文本格式對(duì)象************/
my_fmt=new format();
定義文本格式對(duì)象時(shí),可以不填參數(shù)。
四、具體定義已經(jīng)創(chuàng)建的文本格式對(duì)象的各個(gè)屬性
1、/*****設(shè)置邊框*************/
my_fmt.border=true;//顯示邊框,為假時(shí)表示不顯示邊框
my_fmt.borderColor=0x******;//設(shè)置邊框顏色
2、/********設(shè)置背景***********/
my_fmt.backbround=true;//顯示背景,為假時(shí)表示不顯示邊框
my_fmt.backbroundColor=0x******;
3、/*******設(shè)置字體***********/
my_fmt.font="String"//用一個(gè)字符串串表示希望采用的字體。只能定義系統(tǒng)自帶的字體。
4、/**************設(shè)置對(duì)齊方式***********/
my_fmt.align="String";
//String有幾種形式
my_fmt.align="T"**********表示頂對(duì)齊,居中
my_fmt.align="B"**********表示底對(duì)齊,居中
my_fmt.align="L"**********表示居中,左對(duì)齊;
my_fmt.align="R"**********表示居中,右對(duì)齊;
my_fmt.align="TL"*********表示頂對(duì)齊,左對(duì)齊;
my_fmt.align="TR"*********表示頂對(duì)齊,右對(duì)齊;
my_fmt.align="BR"*********表示底對(duì)齊,右對(duì)齊;
規(guī)律:T是tip的縮寫(xiě),表示“頂”;“L”是light的縮寫(xiě),表示“左”;“B”是bottom的縮寫(xiě),表示“底”。“R”是right的縮寫(xiě),表示“右”。當(dāng)對(duì)齊方式是一個(gè)大寫(xiě)字母表示時(shí),默認(rèn)情況下垂直位置是居中 ,字母表示水平位置。
5、設(shè)置文字顏色
my_fmt.color=0x******;
6、設(shè)置字號(hào)
my_fmt.size=Number; //設(shè)置想要的字號(hào)
五、文本調(diào)用文本格式
my_txt.setTextFormat(my_fmt)//文本里的文字設(shè)置為由my_fmt設(shè)置的文本字段格式
六、幾種技巧
1、登錄頁(yè)面
登錄頁(yè)面通常有“用戶(hù)名”name、“密碼”(password)兩個(gè)文本框和一個(gè)驗(yàn)證按鈕組成。其代碼一般是:
/*******用戶(hù)名和密碼都是輸入文本框,分別命名為name_txt和password_txt
時(shí)間軸代碼:
var str1:String="pp";var str2:String="1166";password_txt.password=true;
functionyanzheng(x,y){
if(x==str1$$y==str2){_root.gotoAndStop(2)}
}
跳轉(zhuǎn)按鈕代碼:
go_btn.onRelease=function(){
name_txt.text=str1;
password_txt.text=str2
}
有了這樣的代碼,當(dāng)點(diǎn)擊go按鈕時(shí),如果用戶(hù)名和密碼是匹配的,那么就會(huì)跳轉(zhuǎn)到應(yīng)用頁(yè)面,否則 就要求重新輸入用戶(hù)名和密碼。
2、游戲中判斷用戶(hù)操作情況的動(dòng)態(tài)文本的定義
在結(jié)束幀有個(gè)文本實(shí)例名為my_txt,代碼如下:
my_txt.type="input";
jieshu_btn.onRelease=function(){
if(yonghudefei>10){my_txt.text="恭喜你,過(guò)關(guān)了!"};
if(yonghudefen<10){my_txt.text="遺憾,請(qǐng)繼續(xù)努力!"}
}
第二部分文本的事件處理函數(shù)
文本的事件處理函數(shù)相對(duì)于其它對(duì)象而言比較簡(jiǎn)單,只須四種:
1、onChange:當(dāng)文本的內(nèi)容發(fā)生改變時(shí)調(diào)用。所謂文本內(nèi)容發(fā)生改變,有兩種情況:一是文本從沒(méi)有焦點(diǎn)到有焦點(diǎn),是個(gè)改變:二是對(duì)于已經(jīng)存在的文本,進(jìn)行剪切、刪除等等操作時(shí),也是改變。
2、onKillFocus:當(dāng)文本失去焦點(diǎn)時(shí)調(diào)用:光標(biāo)在文本框沒(méi)有供輸入的光標(biāo)時(shí),文本框沒(méi)有焦點(diǎn);
3、onSetFous:當(dāng)文本獲取焦點(diǎn)時(shí)調(diào)用:當(dāng)文本框內(nèi)有可供輸入的光標(biāo)是,文本框有焦點(diǎn)。
4、onScrollFocus:當(dāng)多行文本的最頂端行的文本索引發(fā)生改變時(shí)調(diào)用 。