写在前面的话:回顾自己的博客,从最开始的“揭开AS程序的面纱”到现在的“AS3.0的元素处理”,包括刚刚完成的“AS3.0中的显示编程”和月前完成的“常用事件方法与技巧”。已经陆续写下了近四十篇博文。除了一篇有关XMLSocket类的文章,因为某些原因暂时搁浅外(只是暂时搁浅,绝不会太监的),个人还是比较满意的,也希望能对大家有所帮助。

      这个月,我会尽量结束Flash相关内容的介绍,然后写一些和网页游戏相关的文章,毕竟,自己现在从事的主业和自我发展的方向是游戏。到时候,也希望大家能多多捧场,多提宝贵意见,先谢谢了。

 

      第一篇,就从静态文本开始吧。静态文本是少数几个只能用Flash创作工具创建,而不能使用ActionScript以编程方式实例化的元素。

      为了便于下面的说明,我们新建一个Flash文件,然后在舞台上创建一个静态文本,输入“测试文本”四字。

      虽然我们不能实例化静态文本,但依然可以使用StaticText类来获取静态文本的内容,代码如下:

      var tt:DisplayObject = this.getChildAt(0); //从显示列表中获取静态文本

      var mytext:StaticText = StaticText(tt); //静态文本赋值

      trace(mytext.text); //返回静态文本内容

      最后输出结果:测试文本

 

      然后我再给大家介绍一下TextSnapShot类,该类最大的作用是获取所加载的外部swf中,静态文本的内容(当然限于AS3脚本的SWF文件)。但我这里为了方便说明,还是用当前文件做示例,道理是一样的,代码也差不多的。

      还是以上面的Flash文件为例,我们将代码修改一下,如下:

      var mytext:TextSnapshot = this.textSnapshot;

      trace(mytext.getText(0, this.textSnapshot.charCount));

      返回结果同上。

 

      下面我介绍一下该类的常用用法:

      (1) charCount

      核心用法。返回TextSnapshot对象中的字符数(也就是静态文本的总字数)。

      (2) getText()

      格式:getText(beginIndex:int, endIndex:int, includeLineEndings:Boolean = false):String

      返回静态文本的内容。第一第二个参数指定范围,第三个参数一般都省略,会自动插换行符,很奇怪。

      示例:mytext.getText(0,5);

      (3) findText()

      格式:findText(beginIndex:int, textToFind:String, caseSensitive:Boolean):int

      从指定的范围搜索文本内容。第一个参数指定从哪里开始搜索,第二个参数是搜索内容,第三个参数是否忽略大小写。

      示例:mytext.findText(0, “文本”, false);