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