Flash as入門:文本與字符串_Flash教程
推薦:Flash教程:用AS3代碼制作躲避碰撞的盒子簡介:本例介紹運用Flash的AS3代碼制作躲避碰撞的盒子效果,譯者詳細解釋了代碼的運用,喜歡本效果的朋友可以到論壇提交作業~~ 效果演示:(請用鼠標點擊小球觀看效果) 在這個Actions
本例繼續講解AS的基礎知識,今天講解的是AS入門第六課文本與字符。
文本與字符串
在制作flash動畫時,常常會用到文本和字符串,首先來看看文本.
一 創建文本框
在創作環境中創建文本框
在創作環境中創建文本框很簡單,新建一flash文件,用文本工具在舞臺上畫一個文本框,這樣文本框就建好了.文本框建好后,需要進行設置.現在打開屬性面板.首先要確定文本框的類型,點開類型下拉列表可以看到共有三種文本框類型可供選擇:靜態文本、動態文本、輸入文本.靜態文本相當于標簽,在AS中不能進行操作,本課程不介紹.以下文本框均是指動態文本和輸入文本.動態文本和輸入文本可在運行時進行操作.動態文本是運行時動態改變文本問容;輸入文本是在運行時可由用戶輸入文本內容.為了在AS中對其進行操作應在屬性面板中為其命名.有兩種方法可以讀取和設置文本框的內容,一種方法是設置或讀取文本框的text屬性.text屬性代表文本框的內容.
例:在舞臺上畫一文本框,設置其類型為動態文本,為其取名為mytext1_txt.然后在幀動作面板中輸入:
mytext1_txt.text="動態文本框"
測試影片,文本框中將顯示"動態文本框".
在屬性面板中,還可以設置大小、位置、字體、字體大小、顏色、邊框等屬性.
設置和讀取文本內容的另一個方法是給文本框設置變量.這種方法現在不推薦使用,而主張使用text屬性.在屬性面板的右下部有一"變量"文本框,在這里可以為文本框設一變量,那么這一變量就代表文本框的內容.例我們在這里輸入a,然后將幀動作中的代碼改為:
a="動態文本框"
測試影片,文本框中同樣顯示"動態文本框".
運行時創建文本框
運用TextField類的createTextField()方法可以在運行時創建文本框.格式為:
createTextField(名稱,深度,x坐標,y坐標,寬度,高度)
深度:相當于層的概念,深度數字越大就越在上面.同一深度只能包含一個對象,如果在同一深度添加新的對象,那么新的對象會覆蓋同一深度上原來的對象.關于深度的詳細內容將在影片剪輯課程中介紹.
x、y:創建的文本框的注冊點,注冊點位于文本框的左上角.
例:新建一flash文件,打開幀動作面板,輸入:
This.createTextField("my_txt",1,100,100,200,50);
my_txt.border=true;
my_txt.text="動態創建的文本框";
測試影片,將看到一個文本框,文本內容是:"動態創建的文本框".
本例動態創建了一個文本框,然后設置了文本框的兩個屬性:
border:設置文本框是否有邊框
text:設置文本框的內容.
文本框還有很多屬性,將在后續章節介紹.
刪除文本框:
對于用createTextField()創建的文本框可以用removeTextField()方法來刪除.
例:在舞臺上放一按鈕,并為其命名為:del_btn.
然后在幀動作面板中輸入:
This.createTextField("my_txt",1,100,100,200,50);
my_txt.border=true;
my_txt.text="動態創建的文本框";
del_btn.onRelease=function(){
my_txt.removeTextField();
}
測試影片,將看到一個文本框,文本內容是:"動態創建的文本框".點擊按鈕時,文本框被刪除
練習:算術練習器
本練習由程序出100以內的加減乘除題,由用戶計算,再由程序判定計算是否正確.通過本練習可以實踐各種文本框的應用,同時也可對前面各課介紹的基礎知識進行綜合應用,如函數,條件語句,數組,運算符等.下面來制作這個練習器:
新建一flash文檔:
1.用文本工具在舞臺上方居中畫一文本框,打開屬性面板,選擇靜態文本,設置好字體、大小、顏色等屬性.在文本框中輸入:"算術練習器".
2.在稍下面一點再畫一個文本框,類型為動態文本,設置其它屬性.不要邊框.該文本框用于顯示算術題目,文字較多,且要顯示兩行,所以請選擇"多行".將該文本框命名為:tm_txt.
3.在下面再畫一文本框,類型為輸入文本.命名為da_txt.該文本用于用戶輸入答案.設置其它屬性.點下邊框按鈕.需要注意的是,在屬性面板右下角,有一"自動調整字距"選項框,切莫打鉤.因為該文本框中輸入的內容為數字,此項打鉤后文本內容將變為字符,那么將會導至后續程序失敗.所以請記住凡是需要參加計算的數字文本不能選擇此項.
4.新建兩個按鈕元件,標簽分別為:"確定"、"下一題",將兩個按鈕放到舞臺下方,注意應與第三個文本框之間間隔一定距離,因為我們還要在運行時創建一個文本框用于顯示答題的結果.打開屬性面板,將兩個按鈕分別命名為:qd_btn、xyt_btn.
5.好了現在開始寫代碼:新建一層,命名為:action,打開幀動作面板
首先聲明三個變量用來存放兩個參與計算的數字及答案.
var a:Number;
var b:Number;
var jg:Number;
下面開始出題,程序剛打開時首先應出好題目,做完一道題點擊下一題時又要出一次題目,這就是說出題的代碼將重復使用,請養成良好的習慣,將要重復使用的代碼做成函數,以免重復輸代碼.我們也借此練習一下函數的聲明及調用.接著寫代碼:
function ct(){ //聲明了一個叫ct的函數
a=random(99) 1;//加1就避免了算數出現0的情況.
b=random(99) 1;
var ysfz:Array=new Array(" ","-","*","/");//聲明了一個數組用于存放運算符.
var ysfs =random(4);//產生一個0一3的隨機數用于提取數組ysfz中的運算符.
var ysf=ysfz[ysfs];//提取了運算符.
tm_txt.text="請計算:" a ysf b newline "除法請去掉余數";//通過動態文本框將題目顯示出來
switch(ysfs){ //用一個條件語句計算結果
case 0:
jg=a b;
break;
case 1:
jg=a-b;
break;
case 2:
jg=a*b;
break;
case 3:
jg=int(a/b);
break;
}
}
ct();//調用ct()函數,題就出好了.
接下來是點擊”確定”按鈕時,判斷用戶是否回答正確,并給出結論:
qd_btn.onRelease = function(){
createTextField("jg_txt",0,170,250,200,50);//在運行時創建了一個文本框,這里文本框的坐標就根據實際位置確定.
if(da_txt.text ==jg){ //如果用戶在輸入文本中輸入的數字等于題的結果
jg_txt.text = "回答正確";//創建的文本框顯示”回答正確”
} else { //否則
jg_txt.text = "回答不正確";//創建的文本框顯示”回答不正確”
}
}
最后是點擊”下一題”按鈕時,重新出題,輸入文本框清空,刪除運行時創建的文本:
xyt_btn.onRelease=function(){
da_txt.text="";//清空輸入文本
jg_txt.removeTextField();//刪除運行時創建的文本
ct();//調用ct()函數重新出題.
}
作業:制作算術練習器
文本框與字符
二. 文本框的屬性
上一節我們介紹了創建文本框,文本框創建后我們通過其屬性和方法可以對文本框進行操作,本節將介紹文本框的屬性設置
屬性:
antiAliasType:用于此 TextField
實例的消除鋸齒類型。它有兩個值:
"normal":應用常規文本消除鋸齒。
"advanced":應用高級消除鋸齒將增加文本的可讀性。(此功能從 Flash Player 8 起可用)。高級消除鋸齒可以高品質地呈現小尺寸的字體。它最適合具有大量小字號文本的應用程序。建議不要對大于 48 磅的字體使用高級消除鋸齒。
設置本屬將使用消除鋸齒的文本,它將使文本字段有更好的更清晰的顯示效果,但所產生的swf文件較大。使用設備字體是指使用用戶計算機上已安裝的字體,它產生的swf文件最小,而將此屬性設為:"advanced"時,產生的swf文件最大。如果制作有大量文本字的swf文件時,要控制文件的大小,請考量此項如何設置更好。
例:this. createTextField("mytext_txt",1,100,100,200,50);
mytext_txt.text = "這是消除鋸齒的文本";
mytext_txt.antiAliasType = "advanced"
this. createTextField("mytext1_txt",2,100,200,200,50);
mytext1_txt.text = "這是沒有消除鋸齒的文本";
測試影片,兩個文本效果差不多哈
autoSize:文本的自動大小縮放和對齊方式,可設為以下幾個值:
"none"或false:不自動縮放.
"left"
或 true,左邊固定向右邊縮放.
"right",右邊固定向左邊縮放.
"center",中間固定向兩邊縮放
Background:
指定文本字段是否具有背景填充。如果為 true,則文本字段具有背景填充。如果為 false,則文本字段沒有背景填充。
backgroundColor:
文本字段背景的顏色。默認值是 0xFFFFFF(白色)。只有當文本字段有邊框時,背景顏色才可見。
border:
指定文本字段是否具有邊框。如果為 true,則文本字段具有邊框。如果為 false,則文本字段沒有邊框。
borderColor:
文本字段邊框的顏色。默認值是 0x000000(黑色)。
例:
this. createTextField("mytext_txt",1,100,100,200,50);
mytext_txt.text = "本例創建了一個文本框:" "\r" "運用上面個紹的屬性,對文本框外觀進行設置";
mytext_txt.autoSize = "center" //文本框中間固定,向兩邊縮放.
mytext_txt.background = true;//文本框有背景
mytext_txt.backgroundColor=0xff0000;//文本框背景為紅色
mytext_txt.border = true;//文本框有邊框
mytext_txt.borderColor=0x1111d5;//文本框邊框為藍色
測試影片,結果為:

注:文本中”\r”為換行的意思
embedFonts:
指定是否使用嵌入字體輪廓進行呈現。一個布爾值,當它為 true
時,使用嵌入字體輪廓呈現文本字段。如果為 false,則使用設備字體呈現文本字段。
如果將文本字段的 embedFonts
設置為 true,則必須通過應用于該文本字段的 TextFormat
對象的 font
屬性,指定該文本的字體。如果庫中不存在指定的字體(具有對應的鏈接實例名稱),則將不顯示文本。
注:TextFormat對象將在后面介紹
_height:文本框的高度
_width:文本框的寬度
multiline:
表示文本字段是否為多行文本字段。如果值為 true,則文本字段為多行文本字段;如果值為 false,則文本字段為單行文本字段。
_name:文本字段的實例名稱。
length:表示文本字段中的字符數
password:
指定文本字段是否是密碼文本字段。如果 password 的值為 true,則文本字段為密碼文本字段,并使用星號替代實際字符來隱藏輸入的字符。如果為 false,則文本字段不是密碼文本字段。啟用密碼模式時,剪切和復制命令及其相應的鍵盤快捷方式不起作用。此安全機制可防止不良用戶使用快捷鍵在無人看管的計算機上破譯密碼。
例:
this. createTextField("mytext_txt",1,100,100,200,50);
mytext_txt.text = "12345";
mytext_txt.border = true;
mytext_txt.password = true;
測試影片,結果為:

文本框中只有星號,無法看到文本內容
_rotation:
文本字段距其原始方向的旋轉程度. 使用設備字體的文本字段不支持旋轉值。您必須使用嵌入字體才能對文本字段使用 _rotation
selectable:
一個布爾值,表示文本字段是否可選。值 true
表示文本可選。selectable
屬性控制文本字段是否可選,而不控制文本字段是否可編輯。動態文本字段即使不可編輯,它也可能是可選的。如果動態文本字段是不可選的,則您不能選擇其中的文本。
如果 selectable 設置為 false,則文本字段中的文本不響應來自鼠標或鍵盤的"選擇"命令,并且不能使用"復制"命令復制文本。如果 selectable 設置為 true,則可以使用鼠標或鍵盤選擇該文本字段中的文本。即使文本字段是動態文本字段而不是輸入文本字段,您也可以用這種方式選擇文本?梢允褂"復制"命令復制文本。
例:
this.createTextField("mytext_txt",1,100,100,200,50);
this.createTextField("mytext1_txt",2,100,200,200,50);
mytext_txt.border = true;
mytext1_txt.border = true;
mytext1_txt.selectable=false;
mytext_txt.text="這個文本內容可選";
mytext1_txt.text = "這個文本內容不可選"
測試影片,出現兩個文本框,一個文本框的內容可以拉黑(可選),點右鍵有復制菜單項.而另一個則不能被拉黑,沒有右鍵菜單項
text:
表示文本字段中的當前文本。行用回車符("\r",即 ASCII 13)分隔。
textColor:
表示文本字段中文本的顏色。
例:
this.createTextField("mytext_txt",1,100,100,200,50);
mytext_txt.border = true;
mytext_txt.textColor=0xff0000;
mytext_txt.text="這個文本是紅色的";
textHeight:
指示文本的高度,以像素為單位
textWidth:
指示文本的寬度,以像素為單位
type:
指定文本字段的類型。共有兩個值:"dynamic"(指定用戶無法編輯的動態文本字段)和 "input"(指定輸入文本字段)。
_visible:
一個布爾值,表示文本字段是否可見。禁用不可見的文本字段(_visible 屬性設置為 false)。
wordWrap:
一個布爾值,表示文本字段是否自動換行。如果 wordWrap 的值為 true,則該文本字段自動換行;如果值為 false,則該文本字段不自動換行
_x:
一個整數,用來設置文本字段相對于父級影片剪輯的本地坐標的 x 坐標.注冊點在左上角
_y:
文本字段相對于父級影片剪輯的本地坐標的 y 坐標。注冊點在左上角
_xscale:
確定從文本字段注冊點開始應用的文本字段的水平縮放比例,以百分比表示
_yscale:
從文本字段的注冊點開始應用的文本字段的垂直縮放比例,以百分比表示
關于文本滾動的屬性設置:
hscroll:表示當前水平滾動位置。如果 hscroll
屬性為 0,則不能水平滾動文本
水平滾動的單位是像素,而垂直滾動的單位是行。水平滾動以像素計量是因為您通常使用的多數字體都是按比例隔開的;這意味著字符可以有不同的寬度。Flash 按行執行垂直滾動是因為用戶通常希望看到一整行文本,而不是一行的局部。即使一行上有多種字體,行的高度也會調整到與使用的最大字體相適合。
maxhscroll:表示 TextField.hscroll 的最大值
例:
this.createTextField("mytext_txt",1,100,100,100,20);
mytext_txt.autoSize=false;
mytext_txt.text="這是一個滾動文本的效果,我們可以看到文本在滾動.";
onEnterFrame = function() {
if(mytext_txt.hscroll < mytext_txt.maxhscroll){
mytext_txt.hscroll ;
}else {
mytext_txt.hscroll =1;
}
}
測試影片,你將看到一個滾動文本。代碼中用了一個onEnterFrame事件,這是每運行一幀就執行一次,這樣就形成了一個無限的循環。
scroll:
文本在文本字段中的垂直位置。scroll 屬性可用于將用戶定向到長篇文章的特定段落,還可用于創建滾動文本字段?梢詸z索和修改此屬性。水平滾動的單位是像素,而垂直滾動的單位是行。
maxscroll:
表示 TextField.scroll 的最大值。
參考上例可以做出垂直方向滾動的文本。但卻不能用onEnterFrame事件,為什么呢?因為scroll屬性是以行為單位,如果每幀跳一行的話,那就太快了。你可以放一個按鈕,讓每點一次按鈕,文本向上滾動行。這個留給大家自已練習吧?梢詫崿F自動滾動嗎?當然可以,留到本節課后練習來說。
TextFormat類:
上面主要介紹了文本框的的一些屬性,而文本內容的屬性比如字體,顏色,對齊方式等就要借助TextFormat類來實現。使用 TextFormat 類可以為文本字段創建特定的文本格式。您可以將文本格式應用于靜態文本字段和動態文本字段。必須使用構造函數 new TextFormat()
創建 TextFormat 對象,然后設置其屬性,再用文本框的setTextFormat()方法來使用這些屬性。
1.創建TextFormat對象:
var myformat:TextFormat = new TextFormat();這就創建了一個叫myformat的TextFormat對象。
2.設置TextFormat對象的屬性:
myformat.bold = true;設置了myformat的bold(粗體字)屬性.
3.文本框調用setTextFormat()方法:
mytext_txt. setTextFormat(myformat);這樣文本框就調用了myformat中的屬性設置,即文本框的內容將以粗體字顯示。
例:
var myformat:TextFormat = new TextFormat();
myyformat.bold=true;this.createTextField"mytext_txt",1,100,100,100,20);
mytext_txt.autoSize=true;mytext_txt.text="設置了粗體";
mytext_txt.setTextFormat(myformat);
測試影片,可以看到文本框中的文字是粗體的。
TextFormat對象的屬性:
align:指示段落的對齊方式的字符串。您可以將此屬性應用于靜態文本和動態文本。下面的列表顯示此屬性的可能值:
* "left" -- 段落為左對齊。
* "center" -- 段落居中。
* "right" -- 段落為右對齊。
* "justify" -- 段落為兩端對齊。(Flash Player 8 中添加了此值。)
默認值是 null,它指示該屬性未定義。
blockIndent:
以磅為單位指示塊縮進的數字。塊縮進應用于整個文本塊,即文本的所有行。而普通縮進 (TextFormat.indent) 只影響各段的第一行。如果此屬性為 null,則 TextFormat 對象不指定塊縮進。
bold:
一個布爾值,指示文本是否為粗體字。默認值是 null,它指示該屬性未定義。如果值為 true,則文本為粗體字。
color:指示文本的顏色。
font:
使用此文本格式的文本的字體名稱,以字符串形式表示。
indent:
指示從左邊距到段落中第一個字符的縮進的整數。正值指示普通縮進。您可以使用負值,但只可在左邊距大于 0 時進行負縮進。若要將邊距設置為大于 0,請使用 indent 屬性或 TextFormat 對象的 blockIndent 屬性。默認值是 null,它指示該屬性未定義。
italic一個布爾值,指示使用此文本格式的文本是否為斜體
leading:一個整數,表示以像素為單位的行間垂直距離(稱為"行距")。
leftMargin:段落的左邊距,以磅為單位
letterSpacing:字間距
rightMargin:段落的右邊距,以磅為單位。
size:文字的大小
underline:一個布爾值,指示使用此文本格式的文本有下劃線 (true) 還是沒有下劃線 (false)
下面我們來做個練習:滾動文本的制作
新建一flash文檔,導入一圖片,用為背影,居中放好
新插入一層,命名為action.開始寫代碼:
1、橫向滾動:
首先創建一個TextFormat對象,然后設置文本框要用到的屬性.
創建文本框,并設置其autoSize屬性為false,不讓其縮放大小.設置文本框的text屬性,前后輸入一定數量空格,以避免滾動時出現不連慣.
用onEnterFrame事件實現滾動,方法參見上面例句
2、縱向滾動:
首先創建一個TextFormat對象,然后設置文本框要用到的屬性.
創建文本框,并設置其autoSize屬性為false,不讓其縮放大小.設置文本框的text屬性,第一行前和最后一行后,插入一定數量”\r”,以避免滾動時出現不連慣.
創建一函數,使文本滾動,方法參考橫向滾動
用:
var 隨便取個變量名 = setInterval(剛建的函數名,1000);
實現滾動.這一句的意思是每隔1000毫秒調用一次函數,后面課程將詳細介紹
3、3D字效果
原理是創建兩個文本框,內容相同,字的顏色不同,文本框的位置略微錯開2個象素左右.
作業:制作滾動文本
附完整代碼:
建議大家自已完成本練習,不要看這個代碼,實在有困難時,只可參考這個代碼.堅決反對直接復制本代碼,那樣就沒意思了,對你學習AS一點好處都沒有.
var myformat:TextFormat = new TextFormat();
myformat.bold = true;
myformat.size = 30;
myformat.color = 0xff0000;
this.createTextField("mytext_txt",1,200,50,200,50);
mytext_txt.autoSize=false;
mytext_txt.text="
在花好月圓之夜,祝各位壇友中秋快樂!
";
mytext_txt.setTextFormat(myformat);
onEnterFrame = function(){
if(mytext_txt.hscroll<mytext_txt.maxhscroll){
mytext_txt.hscroll ;
} else {
mytext_txt.hscroll =1;
}
}
var myformat1:TextFormat = new TextFormat();
myformat1.size = 18;
myformat1.color = 0xf4f44f;
this.createTextField("mytext1_txt",2,100,150,150,150);
mytext1_txt.autoSize=false;
mytext1_txt.text="\r" "\r" "\r" "\r" "\r" "\r" "明月幾時有?" "\r" "把酒問青天" "\r" "不知天上宮闕," "\r" "今昔是何年";
mytext1_txt.text ="\r" "我欲乘風歸去," "\r" "又恐瓊樓玉宇," "\r" "高處不勝寒。" "\r" "起舞弄清影," "\r" "何似在人間.";
mytext1_txt.text ="\r" "\r" "轉諸閣," "\r" "低倚戶," "\r" "照無眠." "\r" "不應有恨," "\r" "何事長向別時圓.";
mytext1_txt.text ="\r" "人生悲歡離合," "\r" "月有陰晴圓缺," "\r" "此事古難全." "\r" "但愿人長久," "\r" "千里共嬋娟."
mytext1_txt.text ="\r" "\r" "\r" "\r" "\r" "\r" "\r" "\r"
mytext1_txt.setTextFormat(myformat1);
function gd(){
if(mytext1_txt.scroll<mytext1_txt.maxscroll){
mytext1_txt.scroll ;
} else {
mytext1_txt.scroll =1;
}
}
var ksgd = setInterval(gd,1000);
var myformat2:TextFormat = new TextFormat();
myformat2.bold = true;
myformat2.size = 30;
myformat2.color = 0x988E81;
this.createTextField("mytext2_txt",3,200,300,200,50);
mytext2_txt.autoSize="center";
mytext2_txt.text="花好月圓賀中秋";
mytext2_txt.setTextFormat(myformat2);
var myformat3:TextFormat = new TextFormat();
myformat3.bold = true;
myformat3.size = 30;
myformat3.color = 0x430FBD;
this.createTextField("mytext3_txt",4,202,300,200,50);
mytext3_txt.autoSize="center";
mytext3_txt.text="花好月圓賀中秋";
mytext3_txt.setTextFormat(myformat3);
文本框的事件
onChanged事件:在文本字段的內容發生更改時調用。在文本框中的內容發生改變時就會觸發。比如在輸入文本中輸入或刪除一個字符時都會觸發這個事件。
例:this.createTextField("mytext_txt",1,50,20,400,200);
this.createTextField("myinputtext_txt",2,100,300,100,20);
myinputtext_txt.autoSize = false;
myinputtext_txt.border = true;
myinputtext_txt.type = "input";
var myformat:TextFormat = new TextFormat();
myformat.bold=true;
myformat.color=0xff0000;
myformat.size=26;
mytext_txt.autoSize=true;
mytext_txt.wordWrap=true;
myinputtext_txt.onChanged = function(){
mytext_txt.text = myinputtext_txt.text;
mytext_txt.setTextFormat(myformat);
}
這個例子,創建了兩個文本框,其中一個是輸入文本。分別設置了屬性。然后用onChanged事件,在輸入框中輸入文本的同時,文本顯示在別一文本框中。每輸入一個字,輸入文本內容就發生了改變,從而觸發了onChanged事件,而執行將文本顯示在另一文本框中的任務。
onKillFocus 事件:在文本字段失去鍵盤焦點時調用。文本框的焦點,就是說光標。當文本框失去光標時,就會觸發onKillFocus事件。
例:this.createTextField("mytext_txt",1,50,20,400,200);
this.createTextField("myinputtext_txt",2,100,300,100,20);
myinputtext_txt.autoSize = false;
myinputtext_txt.border = true;
myinputtext_txt.type = "input";
var myformat:TextFormat = new TextFormat();
myformat.bold=true;
myformat.color=0xff0000;
myformat.size=26;
mytext_txt.autoSize=true;
mytext_txt.wordWrap=true;
myinputtext_txt.onChanged = function(){
mytext_txt.text = myinputtext_txt.text;
mytext_txt.setTextFormat(myformat);
}
myinputtext_txt.onKillFocus = function(){
trace("輸入框已失去光標,無法繼續輸入.");
}
本例還是上例的代碼只是在后加了一個onKillFocus事件函數。運行時在輸入框中輸幾個字后,點擊顯示文本的的文本框,這時輸入文本將失去焦點,從而解發onKillFocus事件。出現失去光標的提示。
onScroller 事件:在某一個文本字段的 scroll 屬性發生更改時調用。TextField.onScroller事件處理函數通常用于實現滾動條。滾動條通常有一個縮略圖或其它指示器,顯示文本字段中的當前水平或垂直滾動位置。使用鼠標和鍵盤可以瀏覽文本字段,這會導致滾動位置發生更改。如果由于用戶交互而導致滾動條位置發生更改,滾動條代碼需要獲得通知,這就是使用 TextField.onScroller的目的。
onSetFocus 事件:在文本字段接收鍵盤焦點時調用。
文本框的方法
getFontList() 方法:以數組的形式返回播放器的主機系統上的字體名稱。(此方法不返回當前加載的 SWF 文件中所有字體的名稱。)這些名稱的類型為 String。此方法是全局 TextField 類的靜態方法。在調用此方法時,不能指定文本字段實例。
var font:Array = new Array();
font = TextField.getFontList();
trace(font);
測試影片,你將看到,你的windows目錄下fonts文件夾中的文件名稱給列出來了。
getDepth() 方法:返回文本字段的深度。
getNewTextFormat()方法:返回一個 TextFormat 對象,該對象包含文本字段的文本格式對象的一個副本。
getTextFormat()方法:返回一個字符、一段字符或整個 TextField 對象的 TextFormat 對象。
用法:my_textField.getTextFormat():返回一個 TextFormat 對象,該對象包含文本字段中所有文本的格式設置信息。
my_textField.getTextFormat(開始處):返回一個 TextFormat 對象,該對象包含 開始處到結束時文本字段的文本格式的一個副本。
my_textField.getTextFormat(開始處,結束處):返回一個TextFormat對象,該對象包含從 開始處 到 結束處 范圍內文本的格式設置信息。
removeTextField()方法:刪除文本字段。只能對使用createTextField() 創建的文本字段執行此操作。
replaceSel()方法:使用新的字符替換當前所選內容。使用當前默認字符格式和默認段落格式,在當前所選內容的所在位置插入文本。
用法:my_textField.replaceSel(新字符);
可以使用 replaceSel()
方法插入和刪除文本,而不破壞其余文本的字符和段落格式。
必須使用 Selection.setFocus()
將焦點放置在字段上才能發布此命令。
replaceText()方法:在指定的文本字段中,用新字符替換由 開始處 和 結束處 參數所指定的一段字符。
用法:my_textField.replaceSel(開始處,結束處,新字符);
setTextFormat()方法:將 textFormat 參數指定的文本格式應用于文本字段中的某些文本或全部文本。textFormat
必須是一個指定需要的文本格式更改的 TextFormat 對象
用法:setTextFormat(開始處,結束處,textFormat對象);如果沒有開始處和結束處,格式將運用于整個文本
分享:Flash AS教程:用動態遮罩實現液化效果簡介:本例介紹運用Flash AS的動態遮罩來實現液化效果,教程詳細講解了AS代碼的運用,并給出了詳細的代碼解釋,希望能給朋友們帶來幫助~~本文由中國教程網 sanbos 原創,轉載請保留此信息!
- 相關鏈接:
- 教程說明:
Flash教程-Flash as入門:文本與字符串
。