9-2 文字欄位物件

文字欄位有三種,靜態文字、動態文字與輸入文字。動態文字欄位和輸入文字欄位都可設定實體名稱,以及文字欄位關聯的變數。前面章節中只使用靜態文字和動態文字,而動態文字只用關聯變數來設定或取得其文字,文字欄位還有很多屬性。

一、        動態文字與輸入文字欄位常用的屬性

屬性

說明

_alpha

文字欄位的Alpha透明值。

autoSize

文字欄位自動調整大小和對齊方式。

background

文字欄位是否有背景色。

true:有,false:沒有(預設值)

backgroundColor

文字欄位的背景色。

border

文字欄位是否有邊框。

true:有,false:沒有(預設值)

hscroll

文字欄位目前水平捲動的位置。

length

文字欄位中的字元數。

maxChars

文字欄位可容納最大字元數。

multiLine

文字欄位是否多行。

true:多行,false:單行(預設值)

_name

文字欄位的實體名稱。

password

文字欄位的文字是否為密碼顯示。

true:是,false:不是(預設值)

tabIndex

SWF檔中自訂實體停駐點順序。 

text

文字欄位中目前的文字。

selectable

文字欄位內文字是否可被選取。

true:可以(動態文字預設值)

false:不可以(靜態文字預設值)

type

文字欄位的類型。

variable

與文字欄位關聯的變數名稱。

_visible

是否可看見文字欄位。

wordWrap

文字欄位的文字是否允許換行。

true:可以,false:不可以(預設值)

與影片片段相同的屬性不再列出。

  文字欄位實體名稱的後置字串為_txt

例如:姓名(name_txt),年齡(age_txt)

二、        createTextField

語法:name_mc.createTextField(name_txt, depth, x, y, width, height);

功能:建立一個空白文字欄位實體

說明:

1. name_mc:影片片段實體名稱。

2. name_txt:文字欄位實體名稱。

3. depth:文字欄位的深度

4. x:文字欄位的x座標。

5. y:文字欄位的y座標。

6. width:文字欄位的寬度。

7. height:文字欄位的高度。

三、        TextFormat文字欄位格式

語法:format1=new TextFormat();

功能:產生一個文字欄位格式的物件。

語法:name_txt.setTextFormat(format1);

功能:文字欄位實體(name_txt)使用format1文字格式。

TextFormat常用的屬性

屬性

說明

align

段落對齊方式,left”靠左,center”置中,right”靠右。

color

文字的顏色。

font

文字字體的名稱。

indent

段落中從左方邊界到第一個字元的縮排點數。

italic

是否用斜體字。

leading

兩行相距垂直距離,以點為單位。

size

文字字體的大小,以點為單位。

 

 


將一段文字顯示於動態文字欄位,此段文字大小為20點,綠色字體,字首退縮40點即空二個字,二行之間空10點。

結果:

 

 

 

 

 

 

 

影格1程式:

01

02

03

04

05

06

07

08

09

10

11

12

13

 

 

 

14

format1= new TextFormat();

with(format1){

    size=20;

    color=0x0000FF;

    indent=40;

    leading=10;

}

createTextField("paper_txt",1,50,50,400,200);

with(paper_txt){

       multiline=true;

       wordWrap=true;

}

paper_txt.text="在文字欄位有三種,「靜態文字」、「動態文字」和「輸入文字」。靜態文字欄位在程式執行中不能改變所顯示文字內容。動態文字欄位和輸入文字欄位才能在程式執行時改變其屬性。這兩種都可以指定實體名稱。輸入文字欄位可以接受由鍵盤輸入文字";

paper_txt.setTextFormat(format1);

解說:

0207:文字欄位格式。

03:文字大小為20點。

04:文字顏色為藍色。

05:字首內縮40點,為2個中文字寬。

06:行距為10點。

08:在主場景產生一個paper_txt空的文字欄位,位置在(50,50),寬為400,高為200

0914:設定文字欄位paper_txt屬性。

1011:可多行顯示文字。

13:文字欄位的內容文字。

14paper_txt文字欄位實體以format1文字格式顯示。

四、        Selection.setFocus方法

語法:Selection.setFocus (name_txt);

功能:文字欄位實體取得焦點。

說明:

1. name_txt:文字欄位實體名稱。

2. 若文字欄位為輸入文字,在文字實體中會出現文字輸入指標,等待由鍵盤輸入文字。

 


電腦隨機出現兩個整數(1~10),輸入答案後,按「ok」鈕,判斷答案是否正確,若正確則顯示答對了!,否則顯示答錯了!並給正確答案。

1. 電腦隨機出題(1~10以內整數)

 

 

 

 

 

 


2. 使用者輸入正確答案,按「ok」鈕,顯示答對了!”。

 

 

 

 

 

 

 

 


3. 使用者輸入錯誤答案,按「ok」鈕,顯示答錯了!”,並給正確答案。

 

 

 

 

 

 

 


【文字欄位】圖層

    num1_txt  num2_txt   ans_txt(輸入文字欄位)   

 

 

 

 

 


result_txt            ok_btn

影格1程式:

01

02

03

04

05

num1=Math.ceil(10*Math.random());

num2=Math.ceil(10*Math.random());

num1_txt.text=num1;

num2_txt.text=num2;

Selection.setFocus(ans_txt);

解說:

0102:產生二個1~10之間隨機整數。

0304:將數值顯示於動態文字欄位(num1_txt, num2_txt)

05:將輸入游標顯示於輸入文字欄位(ans_txt)

OK』按鈕程式:

01

02

03

04

05

06

07

08

on (press) {

    if(Number(ans_txt.text)==(num1+num2)){

          result_txt.text="答對了!";

    }else{

result_txt.text="答錯了!"+newline;

result_txt.text+="正確答案是"+(num1+num2);

    }

}

解說:

02:由鍵盤所輸入的數字為字串型態資料,需用Number函數轉為數值資料。num1+num2為正確答案。

03:秀出正確答案回饋。

05:秀出錯誤答案回饋。