当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > Flash as入门(6):文本与字符串

ActionScript
FLASH 3D相册之利用BitmapData类制作
Flash 脚本游戏开发教程 第一课
Flash 脚本游戏开发教程第二课
Flash 脚本游戏开发教程第三课
Flash 脚本游戏开发教程第四课
Flash 脚本游戏开发教程第五课
Flash 脚本游戏开发教程第六课
Flash 脚本游戏开发教程第七课
Flash 脚本游戏开发教程第八课
Flash AS实现的蝌蚪摆尾动画的教程
从基础开始深入学Flash AS3教程(4)(译文)
从基础开始深入学Flash AS3教程(5)(译文)
从基础开始深入Flash AS3教程(2)(译文)
从基础开始深入学Flash AS3教程(3)(译文)
Flash AS3对单个图片进行角色动作化处理
从基础开始深入Flash AS3教程(1)(译文)
Flash教程:if条件语句的用法
Flash AS教程:_visible属性的详细讲解
Flash AS教程:图片环绕旋转效
Flash教程:trace()的使用

ActionScript 中的 Flash as入门(6):文本与字符串


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-03-20   浏览: 1081 ::
收藏到网摘: n/a

本例继续讲解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 属性可用于将用户定向到长篇文章的特定段落,还可用于创建滚动文本字段。可以检索和修改此属性。水平滚动的单位是像素,而垂直滚动的单位是行。

maxscroll:
表示 TextField.scroll 的最大值。
参考上例可以做出垂直方向滚动的文本。但却不能用onEnterFrame事件,为什么呢?因为scroll属性是以行为单位,如果每帧跳一行的话,那就太快了。你可以放一个按钮,让每点一次按钮,文本向上滚动行。这个留给大家自已练习吧。可以实现自动滚动吗?当然可以,留到本节课后练习来说。

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对象);如果没有开始处和结束处,格式将运用于整个文本。