TextFormat 类
TextField 类主要用来描述文本框,即文本所在容器的整体信息,因此它的属性不包含字体, 段落等文本格式信息.要动态地设置文本格式,需要用到 TextFormat 类,该类用来描述文 本的格式.通过将 TextFormat 类的对象传递给 TextField 类的 setTextFormat 方法,可以设置 TextField 类实例中文本的格式.
要使用 TextFormat 类,首先要创建一个 TextFormat 类的对象,如下所示: var my_fmt = new TextFormat(); 然后需要设置该对象的属性.TextFormat 类的属性如下所示.
font 字体名称
align 段落对齐方式
size 文本大小
leftMargin 段落左边距
color 文本颜色
rightMargin 段落右边距
bold 是否为粗体
indent 段落的首行缩进
italic 是否为斜体
blockIndent 块的缩进
underline 是否带下划线
leading 行间距url 所链接到的
URL tabStops Tab 键顺序
target 打开超链接的窗口
bullet 是否显示项目符号
例如,要将文本设置为斜体,可以使用如下代码: my_fmt.italic= true;
最后, 使用 TextField 类的 setTextFormat 方法将 TextFormat 对象应用到 TextField 对象的实例 中,它有 3 种不同的形式:
myTxt.setTextFormat (my_fmt);
myTxt.setTextFormat (index, my_fmt);
myTxt.setTextFormat (beginIndex, endIndex, my_fmt);
第 1 种形式将 my_fmt 应用到 myTxt 指定的所有文本;
第 2 种形式将 my_fmt 应用到 index 处的字符;
第 3 种形式将 my_fmt 应用到 beginIndex 和 endIndex 之间的文本.
通过练习掌握 TextFormat 类的使用方法:
1,使用文本工具绘制一个文本框,在【属性】面板中将其设置为多行的输入文本,并将实 例命名为"myTxt".
2,在主时间轴第 1 帧的【动作】面板中添加如下
AS: myTxt.text = "Waiting...";
txtFmt = new TextFormat();
with (txtFmt) { bold = false;
italic = false;
size = 24;
color = 0xFF0000; }
myTxt.setTextFormat(txtFmt);
charFmt = new TextFormat();
with (charFmt) { bold = true; italic = true; size = 48; color = 0x00CC00; }
var i = 0; _root.onEnterFrame = function()
{ var long = myTxt.text.length; myTxt.setTextFormat(i, charFmt); if (i>0)
{ myTxt.setTextFormat(i-1, txtFmt); }
else
{ myTxt.setTextFormat(long-1, txtFmt);} i++; i %= long; };
3,按【Ctrl+Enter】键测试影片,尝试输入一些文本,可以看到动态改变文本格式的效果.