TextSnapshot对象 |
| 作者:佚名 来源:闪吧 作者: 闪灵凶猛 更新:2007-1-13 20:49:11 错误报告 我要投稿 |
Macromedia终于在2004里公布了对静态文本进行操作的对象——TextSnapshot! TextSnapshot对象由MovieClip的getTextSnapshot()方法返回,反馈的是MC内部静态文本的信息。 在MC中添加一静态文本,在主时间轴第一帧加AS:
var ts = mc.getTextSnapshot(); for (var i in ts) { trace(i); } | 测试:
setSelectColor findText hitTestTextNearPos getSelectedText getText getSelected setSelected getCount | 上面列出的即为TextSnapshot对象的成员。具体功用可在帮助里找到。 findText方法可在TextSnapshot中查找指定的字符串,用法如下:
| var ft = ts.findText(from, "txt",boolean); | 其中3个参数,第一个决定查找的起始位置,第二个指定查找的字符串内容,第三个为布尔值,指明是否区别大小写。 例如影片剪辑mc中有静态文本为大写的ABCDEFGHIJKLMNOPQRSTUVWXYZ,那么
|
var ts = mc.getTextSnapshot(); var ft = ts.findText(0, "f", 0); trace(ft); | 得到5! 如果换成
var ts = mc.getTextSnapshot(); var ft = ts.findText(0, "f", 1); trace(ft); | 将得到-1! 这就是大小写的区别。getCount返回整个静态文本的字符数,如同上的文本内容,使用
var ts = mc.getTextSnapshot(); var gc = ts.getCount(); trace(gc); | 结果是26! 再就是setSelected,可以设定文本中哪些为被选择的内容,而getSelectedText可以返回被选择的内容:
var ts = mc.getTextSnapshot(); ts.setSelected(1, 3, true); var str = ts.getSelectedText(); trace(str); | 这样,就把从1~3(不包括3)的字符列为被选,因此返回的是BC 其他方法类似,可以参考一下帮助,不再一一列出了。
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |