冰冷的心 2007-12-10 20:05
Flash MX 编程深层次应用-初级特效(1)
</script></div><font id="zoom"><DIV style="FONT-SIZE: 18pt; COLOR: #990000; FONT-FAMILY: 楷体_GB2312" align=center><B>第2章 ActionScript初级特效制作</B></DIV><BR><DIV style="FONT-SIZE: 18px; COLOR: #990000; FONT-FAMILY: ; 宋体: " align=center>2.1 文字特效(1)</DIV><DIV style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 10.5pt; COLOR: black; LINE-HEIGHT: 180%" align=left><BR> <P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">所谓文字特效就是对</SPAN><SPAN lang=EN-US>Flash MX</SPAN><SPAN style="FONT-FAMILY: 幼圆">中出现的各种文字通过特殊处理来创建与制作各种各样的效果,这些效果一般来说都可以在动画中用到。在本书的后面会有专门的部分讲解用一些文字特效软件来产生相应的特效,这里主要讨论的是如何用程序来实现各种特效与控制。</SPAN></P><H3><SPAN lang=EN-US>2.1.1 </SPAN><SPAN style="FONT-FAMILY: 方正隶书简体">酷打字效果</SPAN></H3><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">在</SPAN><SPAN lang=EN-US>Flash</SPAN><SPAN style="FONT-FAMILY: 幼圆">中经常需要输入字符,但是如果有一个很酷的打字效果将给动画的交互增色不少。请看下面的代码:</SPAN></P><P class=a3><SPAN lang=EN-US>myObj = new Object();</SPAN></P><P class=a3><SPAN lang=EN-US>//</SPAN><SPAN style="FONT-FAMILY: 幼圆">定义尺寸大小为</SPAN><SPAN lang=EN-US>36</SPAN><SPAN style="FONT-FAMILY: 幼圆">的</SPAN><SPAN lang=EN-US>Times New Roman</SPAN><SPAN style="FONT-FAMILY: 幼圆">字体,颜色值为</SPAN><SPAN lang=EN-US>0x448811</SPAN></P><P class=a3><SPAN lang=EN-US>//</SPAN><SPAN style="FONT-FAMILY: 幼圆">同时字符加粗显示</SPAN></P><P class=a3><SPAN lang=EN-US>myFormat= new TextFormat("Times New Roman",36,0x448811,true);</SPAN></P><P class=a3><SPAN lang=EN-US>myObj.onKeyDown = function() {</SPAN></P><P class=a3><SPAN lang=EN-US> i++;</SPAN></P><P class=a3><SPAN lang=EN-US> _root.createEmptyMovieClip("L"+i,i);</SPAN></P><P class=a3><SPAN lang=EN-US> //</SPAN><SPAN style="FONT-FAMILY: 幼圆">创建一个字体效果,其位置是在</SPAN><SPAN lang=EN-US>(10,10)</SPAN><SPAN style="FONT-FAMILY: 幼圆">,其宽度与高度都是</SPAN><SPAN lang=EN-US>50</SPAN></P><P class=a3><SPAN lang=EN-US> _root["L"+i].createTextField("myText",1,10,10,50,50);</SPAN></P><P class=a3><SPAN lang=EN-US> //</SPAN><SPAN style="FONT-FAMILY: 幼圆">返回键盘输入的字符</SPAN></P><P class=a3><SPAN lang=EN-US> _root["L"+i].myText.text = chr(Key.getAscii());</SPAN></P><P class=a3><SPAN lang=EN-US> _root["L"+i].myText.setTextFormat(myFormat);</SPAN></P><P class=a3><SPAN lang=EN-US> //</SPAN><SPAN style="FONT-FAMILY: 幼圆">设置初始产生时的字体大小为正常大小的</SPAN><SPAN lang=EN-US>5</SPAN><SPAN style="FONT-FAMILY: 幼圆">倍</SPAN></P><P class=a3><SPAN lang=EN-US> _root["L"+i]._xscale = 500;</SPAN></P><P class=a3><SPAN lang=EN-US> _root["L"+i]._yscale = 500;</SPAN></P><P class=a3><SPAN lang=EN-US> //</SPAN><SPAN style="FONT-FAMILY: 幼圆">目标字体的位置,一行有</SPAN><SPAN lang=EN-US>30</SPAN><SPAN style="FONT-FAMILY: 幼圆">个字符,每个字符间隔是</SPAN><SPAN lang=EN-US>15</SPAN><SPAN style="FONT-FAMILY: 幼圆">个点</SPAN></P><P class=a3><SPAN lang=EN-US> _root["L"+i].xTarget = (i%30 == 0) ? t=0 : 15*t++;</SPAN></P><P class=a3><SPAN lang=EN-US> _root["L"+i].yTarget = (i%30 == 0) ? ++j*15 : j*15;</SPAN></P><P class=a3><SPAN lang=EN-US> _root["L"+i].onEnterFrame = function() {</SPAN></P><P class=a3><SPAN lang=EN-US> //</SPAN><SPAN style="FONT-FAMILY: 幼圆">控制字体的位置</SPAN><SPAN lang=EN-US>,</SPAN><SPAN style="FONT-FAMILY: 幼圆">从当前位置向后与向下偏</SPAN><SPAN lang=EN-US>60</SPAN><SPAN style="FONT-FAMILY: 幼圆">个点,以</SPAN><SPAN lang=EN-US>70%</SPAN><SPAN style="FONT-FAMILY: 幼圆">的速度递减</SPAN></P><P class=a3><SPAN lang=EN-US> this._x += (this.xTarget+60-this._x)*.3;</SPAN></P><P class=a3><SPAN lang=EN-US> this._y += (this.yTarget+60-this._y)*.3;</SPAN></P><P class=a3><SPAN lang=EN-US> //</SPAN><SPAN style="FONT-FAMILY: 幼圆">控制字体的大小,按</SPAN><SPAN lang=EN-US>70%</SPAN><SPAN style="FONT-FAMILY: 幼圆">的速度递减,直到</SPAN><SPAN lang=EN-US>40%</SPAN><SPAN style="FONT-FAMILY: 幼圆">的大小为止</SPAN></P><P class=a3><SPAN lang=EN-US> this._xscale += (40-this._xscale)*.3;</SPAN></P><P class=a3><SPAN lang=EN-US> this._yscale += (40-this._yscale)*.3;</SPAN></P><P class=a3><SPAN lang=EN-US> }</SPAN></P><P class=a3><SPAN lang=EN-US> //</SPAN><SPAN style="FONT-FAMILY: 幼圆">如果字符超过</SPAN><SPAN lang=EN-US>100</SPAN><SPAN style="FONT-FAMILY: 幼圆">个就将字符移到-</SPAN><SPAN lang=EN-US>100</SPAN><SPAN style="FONT-FAMILY: 幼圆">位置点,其实就是相当于字体移出屏幕</SPAN></P><P class=a3><SPAN lang=EN-US> _root["L"+(i-100)].yTarget = -100;</SPAN></P><P class=a3><SPAN lang=EN-US> //</SPAN><SPAN style="FONT-FAMILY: 幼圆">如果字符超过</SPAN><SPAN lang=EN-US>130</SPAN><SPAN style="FONT-FAMILY: 幼圆">个就将以前的字符删除</SPAN></P><P class=a3><SPAN lang=EN-US> _root["L"+(i-130)].removeMovieClip();</SPAN></P><P class=a3><SPAN lang=EN-US>}</SPAN></P><H6><SPAN lang=EN-US style="FONT-FAMILY: Symbol">Ö<SPAN style="FONT: 7pt 'Times New Roman'"> </SPAN></SPAN><SPAN lang=EN-US>Key.addListener(myObj);</SPAN></H6><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">这段代码看似非常简单,但是内容很丰富,其中最精华的部分就是利用了数学的等比数列,也就是说每次字符移动的距离是上次距离的</SPAN><SPAN lang=EN-US>70%</SPAN><SPAN style="FONT-FAMILY: 幼圆">,当最终字符到达指定位置(</SPAN><SPAN lang=EN-US>xTarget,yTarget</SPAN><SPAN style="FONT-FAMILY: 幼圆">)时,字符的移动就停止了。当然了,是看上去停止了,而程序实际上没有停止。这种字体特效会随着字符的增加而加重计算的系统资源消耗,所以程序还设置了当字符数增加到</SPAN><SPAN lang=EN-US>130</SPAN><SPAN style="FONT-FAMILY: 幼圆">个时就开始自动清除以前的字符,这样才可以保证程序快速地运行。这个特效虽然是个响应键盘输入的字符特效,但是可以轻松将它的思路修改成为另一种字符串特效,比如说,先把字符串存在一个变量里,然后再定时将它们一个个地取出来,通过上面的代码来驱动它。上面程序运行的结果如图</SPAN><SPAN lang=EN-US>2-1</SPAN><SPAN style="FONT-FAMILY: 幼圆">所示。</SPAN></P><P class=a2 align=center><SPAN lang=EN-US><IMG height=175 src="http://edu.chinaz.com/Files/BeyondPic/image002.jpg" width=326></SPAN></P><P class=a0 style="MARGIN-BOTTOM: 0pt" align=center><SPAN style="FONT-FAMILY: 宋体">图</SPAN><SPAN lang=EN-US>2-1</SPAN></P><SPAN lang=EN-US style="FONT-SIZE: 15pt; FONT-FAMILY: 'Times New Roman'"><P><BR style="PAGE-BREAK-BEFORE: always" clear=all></P></SPAN><H3><SPAN lang=EN-US>2.1.2 </SPAN><SPAN style="FONT-FAMILY: 方正隶书简体">显示字体列表</SPAN></H3><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">在动画制作与交互过程中经常要遇到大批文字显示的问题,一般解决方式有两种:一种就是用</SPAN><SPAN lang=EN-US>Flash MX</SPAN><SPAN style="FONT-FAMILY: 幼圆">的组件功能(</SPAN><SPAN lang=EN-US>Component</SPAN><SPAN style="FONT-FAMILY: 幼圆">),把这段文字与对应的滚动条关联起来,然后用滚动条进行控制(有关这种方式会在后面的战斗游戏中讲解);这里要讲的是另一种控制方法,即根据鼠标的位置来控制文本的自动滚动。</SPAN></P><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">先让我们看一段程序:</SPAN></P><P class=a3><SPAN lang=EN-US>userFonts = TextField.getFontList();</SPAN></P><P class=a3><SPAN lang=EN-US>userFonts.sort();</SPAN></P><P class=a3><SPAN lang=EN-US>_root.createEmptyMovieClip("fontList",i);</SPAN></P><P class=a3><SPAN lang=EN-US>for(i=0; i<userFonts.length; i++) {</SPAN></P><P class=a3><SPAN lang=EN-US> //</SPAN><SPAN style="FONT-FAMILY: 幼圆">创建一个新的动画片断,包括相应的字体内容</SPAN></P><P class=a3><SPAN lang=EN-US> _root.fontList.createTextField("userText"+i,i,30,i*25,300,25);</SPAN></P><P class=a3><SPAN lang=EN-US> _root.fontList["userText"+i].text = userFonts[i];</SPAN></P><P class=a3><SPAN lang=EN-US> _root.fontList["userText"+i].border = true;</SPAN></P><P class=a3><SPAN lang=EN-US> //</SPAN><SPAN style="FONT-FAMILY: 幼圆">修改背景色</SPAN></P><P class=a3><SPAN lang=EN-US>_root.fontList["userText"+i].background = true;</SPAN></P><P class=a3><SPAN lang=EN-US> _root.fontList["userText"+i].backgroundColor = 0xffff00;</SPAN></P><P class=a3><SPAN lang=EN-US>//</SPAN><SPAN style="FONT-FAMILY: 幼圆">设置字体格式</SPAN></P><P class=a3><SPAN lang=EN-US> displayStyle = new TextFormat(userFonts[i],18,0x000000);</SPAN></P><P class=a3><SPAN lang=EN-US> _root.fontList["userText"+i].setTextFormat(displayStyle);</SPAN></P><P class=a3><SPAN lang=EN-US>}</SPAN></P><P class=a3><SPAN lang=EN-US>_root.onEnterFrame = function() {</SPAN></P><P class=a3><SPAN lang=EN-US> (_root._ymouse<200) ? _root.fontList._y-=(_root._ymouse-200)*.1 : _root.fontList._y+=(200-_root._ymouse)*.1;</SPAN></P><P class=a3><SPAN lang=EN-US>}</SPAN></P><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">在上面这段程序中,先是返回一个字体的列表,然后对这个列表进行排序,之后,把这个列表中的全部字符串放到一个动画片断中,最后通过鼠标来控制这个包括了很多种字体的文字动画片断。</SPAN></P><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">程序中用鼠标控制文本的是最后一个语句:</SPAN><SPAN lang=EN-US>_root._ymouse<200…</SPAN><SPAN style="FONT-FAMILY: 幼圆">,它通过感应鼠标离中心点</SPAN><SPAN lang=EN-US>200</SPAN><SPAN style="FONT-FAMILY: 幼圆">的距离,再用这个距离的</SPAN><SPAN lang=EN-US>0.1</SPAN><SPAN style="FONT-FAMILY: 幼圆">倍大小来作为每次文本移动的距离,从而实现鼠标控制文本。</SPAN></P><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">程序运行结果如图</SPAN><SPAN lang=EN-US>2-2</SPAN><SPAN style="FONT-FAMILY: 幼圆">与图</SPAN><SPAN lang=EN-US>2-3</SPAN><SPAN style="FONT-FAMILY: 幼圆">所示。</SPAN></P><P class=a2><SPAN lang=EN-US><IMG height=214 src="http://edu.chinaz.com/Files/BeyondPic/image003.jpg" width=193> <IMG height=215 src="http://edu.chinaz.com/Files/BeyondPic/image004.jpg" width=190></SPAN></P><P class=a0><SPAN style="FONT-FAMILY: 宋体">图</SPAN><SPAN lang=EN-US>2-2 </SPAN><SPAN style="FONT-FAMILY: 宋体">图</SPAN><SPAN lang=EN-US>2-3</SPAN></P><H4><SPAN lang=EN-US>1</SPAN><SPAN style="FONT-FAMILY: 华文行楷">.文本框对象(</SPAN><SPAN lang=EN-US>TextField</SPAN><SPAN style="FONT-FAMILY: 华文行楷">)</SPAN></H4><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">上面这段代码用到了文本框对象(</SPAN><SPAN lang=EN-US>TextField</SPAN><SPAN style="FONT-FAMILY: 幼圆">)与文本格式对象(</SPAN><SPAN lang=EN-US>TextFormat</SPAN><SPAN style="FONT-FAMILY: 幼圆">),下面分别进行一下介绍。</SPAN></P><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">文本框对象(</SPAN><SPAN lang=EN-US>TextField</SPAN><SPAN style="FONT-FAMILY: 幼圆">)是</SPAN><SPAN lang=EN-US>Flash MX</SPAN><SPAN style="FONT-FAMILY: 幼圆">中新加入的对象,</SPAN><SPAN lang=EN-US>Flash </SPAN><SPAN style="FONT-FAMILY: 幼圆">影片中的所有动态文本字段(</SPAN><SPAN lang=EN-US>Dynamic Text</SPAN><SPAN style="FONT-FAMILY: 幼圆">)及输入文本字段(</SPAN><SPAN lang=EN-US>Input Text</SPAN><SPAN style="FONT-FAMILY: 幼圆">)都是</SPAN><SPAN lang=EN-US> TextField </SPAN><SPAN style="FONT-FAMILY: 幼圆">对象的实例。用户可以在属性检查器中为文本字段指定实例名称,并且可以使用</SPAN><SPAN lang=EN-US> TextField </SPAN><SPAN style="FONT-FAMILY: 幼圆">对象的方法和属性与脚本一起对文本字段进行操作。</SPAN><SPAN lang=EN-US>TextField </SPAN><SPAN style="FONT-FAMILY: 幼圆">对象从</SPAN><SPAN lang=EN-US> Object </SPAN><SPAN style="FONT-FAMILY: 幼圆">对象继承而来,若要动态地创建文本字段,可使用</SPAN><SPAN lang=EN-US> MovieClip.createTextField </SPAN><SPAN style="FONT-FAMILY: 幼圆">方法,其函数原型如下:</SPAN></P><P class=a3><SPAN lang=EN-US>myMovieClip.createTextField (instanceName, depth, x, y, width, height)</SPAN></P><P class=MsoNormal><SPAN lang=EN-US>instanceName</SPAN><SPAN style="FONT-FAMILY: 幼圆">表示这个文本框的实例名。</SPAN></P><P class=MsoNormal><SPAN lang=EN-US>depth</SPAN><SPAN style="FONT-FAMILY: 幼圆">表示文本框的深度,与动画片断的深度有相同的含义。</SPAN></P><P class=MsoNormal><SPAN lang=EN-US>x,y</SPAN><SPAN style="FONT-FAMILY: 幼圆">表示文本框在动画片断中的位置。</SPAN></P><P class=MsoNormal><SPAN lang=EN-US>width</SPAN><SPAN style="FONT-FAMILY: 幼圆">与</SPAN><SPAN lang=EN-US>height</SPAN><SPAN style="FONT-FAMILY: 幼圆">表示文本框的宽度与高度。这两个值与后面的</SPAN><SPAN lang=EN-US>_width</SPAN><SPAN style="FONT-FAMILY: 幼圆">和</SPAN><SPAN lang=EN-US>_height</SPAN><SPAN style="FONT-FAMILY: 幼圆">属性相对应,在程序中也可以通过对这两个属性进行修改从而达到修改某个文本框的宽度与高度的目的。</SPAN></P><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">在实例化文本框对象之后,就可以对文本框的相应属性进行设置与读取了。下面列出一些文本框常用的属性,并做简短的说明:</SPAN></P><H5><SPAN lang=EN-US>TextField.autoSize</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">控制文本的对齐方式及对应的尺寸。如果为“</SPAN><SPAN lang=EN-US>true</SPAN><SPAN style="FONT-FAMILY: 幼圆">”,则表示文本框与内容相匹配,不会有多余的空白处;如果等于“</SPAN><SPAN lang=EN-US>left</SPAN><SPAN style="FONT-FAMILY: 幼圆">”,则是靠左对齐,同时扩展或者缩短文本框的右边及底边,以便可以放下全部内容,左边与顶部将保留相同的空位;如等于“</SPAN><SPAN lang=EN-US>right</SPAN><SPAN style="FONT-FAMILY: 幼圆">”,则是靠右对齐,同时扩展或者缩短文本框的左边及底边,以使文本框全部靠右并能放下全部的文本内容,右边及顶部保留相同空位;如果等于“</SPAN><SPAN lang=EN-US>center</SPAN><SPAN style="FONT-FAMILY: 幼圆">”,则是居中对齐,同时让文本保留在水平中心的位置。</SPAN></P><H5><SPAN lang=EN-US>TextField.background</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">控制文本的背景色是否显示,布尔变量。为</SPAN><SPAN lang=EN-US>true</SPAN><SPAN style="FONT-FAMILY: 幼圆">时显示,为</SPAN><SPAN lang=EN-US>false</SPAN><SPAN style="FONT-FAMILY: 幼圆">不显示,默认值是</SPAN><SPAN lang=EN-US>false</SPAN><SPAN style="FONT-FAMILY: 幼圆">。要设置背景色,这个值一定先设定为</SPAN><SPAN lang=EN-US>true</SPAN><SPAN style="FONT-FAMILY: 幼圆">。</SPAN></P><H5><SPAN lang=EN-US>TextField.backgroundColor</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">控制文本的背景色,默认值是白色</SPAN><SPAN lang=EN-US>0xFFFFFF</SPAN><SPAN style="FONT-FAMILY: 幼圆">。即使当前没有背景,也可获取或设置此属性。在</SPAN><SPAN lang=EN-US>Flash</SPAN><SPAN style="FONT-FAMILY: 幼圆">的旧版本中,文本的背景色是不能调整的。如果实在需要背景色,大都是先设定文本无背景色,然后再放置一个有颜色的矩形在文本的下面,以达到模拟背景色的效果。</SPAN></P><H5><SPAN lang=EN-US>TextField.border</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">文本边框,布尔变量。为</SPAN><SPAN lang=EN-US>true</SPAN><SPAN style="FONT-FAMILY: 幼圆">时表示有边框,为</SPAN><SPAN lang=EN-US>false</SPAN><SPAN style="FONT-FAMILY: 幼圆">时表示无边框,边框的颜色通过</SPAN><SPAN lang=EN-US>borderColor</SPAN><SPAN style="FONT-FAMILY: 幼圆">来控制。</SPAN></P><H5><SPAN lang=EN-US>TextField.borderColor</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">文本边框颜色,为颜色值变量,书写方式一般是</SPAN><SPAN lang=EN-US>0x######</SPAN><SPAN style="FONT-FAMILY: 幼圆">。它与</SPAN><SPAN lang=EN-US>border</SPAN><SPAN style="FONT-FAMILY: 幼圆">一起控制边框的属性,即使当前没有边框,也可获取或设置此属性。这项内容在旧版</SPAN><SPAN lang=EN-US>Flash</SPAN><SPAN style="FONT-FAMILY: 幼圆">中也是无法控制的。</SPAN></P><H5><SPAN lang=EN-US>TextField._height</SPAN><SPAN style="FONT-FAMILY: 黑体">与</SPAN><SPAN lang=EN-US>TextField._width</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">文本框的高度与宽度。修改这两个值仅仅会影响文本框的范围,不会影响文本的字体大小与边线的粗细。</SPAN></P><H5><SPAN lang=EN-US>TextField.html</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">控制文本是否为</SPAN><SPAN lang=EN-US>html</SPAN><SPAN style="FONT-FAMILY: 幼圆">文本,布尔变量。如果它的值是</SPAN><SPAN lang=EN-US>true</SPAN><SPAN style="FONT-FAMILY: 幼圆">,就把文本按</SPAN><SPAN lang=EN-US>html</SPAN><SPAN style="FONT-FAMILY: 幼圆">方式显示,如果为</SPAN><SPAN lang=EN-US>false</SPAN><SPAN style="FONT-FAMILY: 幼圆">,即使文本内容是</SPAN><SPAN lang=EN-US>html</SPAN><SPAN style="FONT-FAMILY: 幼圆">格式也按纯文本方式显示出来。</SPAN></P><H5><SPAN lang=EN-US>TextField.htmlText</SPAN></H5><P class=MsoNormal><SPAN lang=EN-US>html</SPAN><SPAN style="FONT-FAMILY: 幼圆">文本串。在文本对象中,</SPAN><SPAN lang=EN-US>html</SPAN><SPAN style="FONT-FAMILY: 幼圆">文本串的内容与普通纯文本的内容存放的地方是不相同的,它们各自管理自已的内容,互不干扰。当既有</SPAN><SPAN lang=EN-US>text</SPAN><SPAN style="FONT-FAMILY: 幼圆">又有</SPAN><SPAN lang=EN-US>html</SPAN><SPAN style="FONT-FAMILY: 幼圆">内容时,显示的是</SPAN><SPAN lang=EN-US>htmlText</SPAN><SPAN style="FONT-FAMILY: 幼圆">的内容。如果在后面又使用文本格式对象设置了文本格式,那么文本格式就以文本格式对象为准。</SPAN></P><H5><SPAN lang=EN-US>TextField.length</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">返回文本的长度,它的值只能获取,不能设置。当文本的长度发生改变时,它的值也同时改变。注意在求长度的过程中像</SPAN><SPAN lang=EN-US>Tab</SPAN><SPAN style="FONT-FAMILY: 幼圆">键(“</SPAN><SPAN lang=EN-US>\t</SPAN><SPAN style="FONT-FAMILY: 幼圆">”)、换行符(“</SPAN><SPAN lang=EN-US>newline</SPAN><SPAN style="FONT-FAMILY: 幼圆">”)等相应的控制符都只占一个字符。</SPAN></P><H5><SPAN lang=EN-US>TextField.restrict</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">指示用户可输入到文本字段中的字符集。如果</SPAN><SPAN lang=EN-US> restrict </SPAN><SPAN style="FONT-FAMILY: 幼圆">属性的值为</SPAN><SPAN lang=EN-US> null</SPAN><SPAN style="FONT-FAMILY: 幼圆">,则可输入任何字符;如果</SPAN><SPAN lang=EN-US> restrict </SPAN><SPAN style="FONT-FAMILY: 幼圆">属性的值为空字符串,则不能输入任何字符;如果</SPAN><SPAN lang=EN-US> restrict </SPAN><SPAN style="FONT-FAMILY: 幼圆">属性的值为一个字符串,则只能向文本字段中输入该字符串中的字符;如果需要支持连续字符串的输入,其范围可以使用短划线</SPAN><SPAN lang=EN-US> (-) </SPAN><SPAN style="FONT-FAMILY: 幼圆">进行指定。可以使用</SPAN><SPAN lang=EN-US> \u </SPAN><SPAN style="FONT-FAMILY: 幼圆">转义序列构造</SPAN><SPAN lang=EN-US> restrict </SPAN><SPAN style="FONT-FAMILY: 幼圆">字符串。</SPAN></P><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">如果此字符串以</SPAN><SPAN lang=EN-US> ^ </SPAN><SPAN style="FONT-FAMILY: 幼圆">开头,则先接受所有字符,然后从接受字符集中排除字符串中</SPAN><SPAN lang=EN-US> ^ </SPAN><SPAN style="FONT-FAMILY: 幼圆">之后的字符;如果此字符串不以</SPAN><SPAN lang=EN-US> ^ </SPAN><SPAN style="FONT-FAMILY: 幼圆">开头,则最初不接受任何字符,然后将字符串中的字符包括在接受字符集中。</SPAN></P><H5><SPAN lang=EN-US>TextField.text</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">当前文本的字符串内容,它与前面讲的</SPAN><SPAN lang=EN-US>htmlText</SPAN><SPAN style="FONT-FAMILY: 幼圆">相对应,只是它的内容仅显示纯文本内容。</SPAN></P><H5><SPAN lang=EN-US>TextField.textColor</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">当前文本的颜色。属于颜色值,其书写方式为</SPAN><SPAN lang=EN-US>0x######</SPAN><SPAN style="FONT-FAMILY: 幼圆">。</SPAN></P><H5><SPAN lang=EN-US>TextField.textHeight</SPAN><SPAN style="FONT-FAMILY: 黑体">与</SPAN><SPAN lang=EN-US>TextField.textWidth</SPAN></H5><P class=MsoNormal><SPAN lang=EN-US> </SPAN><SPAN style="FONT-FAMILY: 幼圆">文本内容的高度与宽度,它取得的是文本字符的真实高度与宽度。</SPAN></P><H5><SPAN lang=EN-US>TextField.type</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">文本的类型。它的取值有两种,默认是第一种。当等于“</SPAN><SPAN lang=EN-US>dynamic</SPAN><SPAN style="FONT-FAMILY: 幼圆">”时表示是动态文本,它的内容的修改需通过程序来完成。</SPAN></P><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">当等于“</SPAN><SPAN lang=EN-US>input</SPAN><SPAN style="FONT-FAMILY: 幼圆">”时表示是一个输入框,文本内容的修改可以由用户直接用键盘输入。</SPAN></P><H5><SPAN lang=EN-US>TextField.variable</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">文本变量名。这个值可以取得,也可以设置。文本对象与以前</SPAN><SPAN lang=EN-US>Flash</SPAN><SPAN style="FONT-FAMILY: 幼圆">版本中的文本框有所不同,要控制文本对象必须用实例名,而文本变量名则是以前版本的控制方法,两者一定要分清楚,如图</SPAN><SPAN lang=EN-US>2-4</SPAN><SPAN style="FONT-FAMILY: 幼圆">所示。</SPAN></P><P class=a2 align=center><SPAN lang=EN-US><IMG height=59 src="http://edu.chinaz.com/Files/BeyondPic/image005.jpg" width=313></SPAN></P><P class=a0 align=center><SPAN style="FONT-FAMILY: 宋体">图</SPAN><SPAN lang=EN-US>2-4</SPAN></P><BR></DIV></font>