这里面的文字除了那个“A text test for FlashEmpire.”外,全部都是用Actionscript完成的。以往在Macromedia Flash 5时代, 对于动态文本框,我们做的只能是“Mytext_txt = "This is just a test.”。对于其字体、颜色、字号,都只能在“属性”面版中修改。如果你想在影片中动态修改,Flash 5的Actionscript就无能为力了。随着Flash MX的发布,我们看到了在“Object(对象)”里增加了对于Text Field的控制语句。为了体验一下新功能,就随着我一起分析一下这个例子是怎么做的吧!
下面是这个源代码的Actionscript:
say.text = "您现在可以看到下面出现一行粗体英文,它是黑色的,并且带有下划线。你可以任意修改里面的原代码。Create by Wushuyu. Copyright 2002 Flashempire.com";
createTextField("Mytext", 0, 100, 200, 600, 100);
// 做一个名字为“mytext”的文本框,它的X坐标为100,Y坐标为200,宽600,高100。
mytextformat = new TextFormat();
mytextformat.font = "Tahoma";
// 设置这个字体格式的字体为Tahoma。
mytextformat.size = 10;
// 设置这个字体格式的字号为10。
mytextformat.color = 0x000000;
// 设置这个字体格式的颜色为黑色。
mytextformat.bold = true;
// 是否以粗体显示。
mytextformat.underline = true;
// 是否要下划线。
Mytext.text = "This is my first Text Field that create with Actionscript.";
// 设定文本内容。
Mytext.setTextFormat(mytextformat);
// 这一句很重要!否则文本内容还是会按系统默认的来显示。
嗯,差不多就这些吧!几乎每一句我都给注释了,那些自设的变量名您可以在源代码中找到,相信您可以看懂。但是有一点,您如果习惯了“Mytext = "Your text.";”这种写法,您就得注意,在Flash MX下您必须写成这样:
Mytext.text = "Your text.";
否则Flash MX不会将“Your text.”这个内容发给Mytext这个动态文本框,不信您可以试试。 :)
这里还要讲些相关的内容。通过查阅Actionscript字典,我发现“createTextField():”语句可以辨认以下文本字段的默认属性:
type = "dynamic";
\\ 文本框属性
border = false;
\\ 是否显示边框
background = false;
\\ 是否有背景
password = false;
\\ 是否以显示密码的方式显示文本内容(就是一片***)
multiline = false;
\\ 是否可以多行显示
html = false;
\\ 是否允许HTML解析
embedFonts = false;
\\ 是否用嵌入字体呈现文本字段
variable = null;
\\ 与文本字段相关的变量的名称
maxChars = null;
\\ 最大字节数
By The Way:现在已经有中文版Actionscript字典的供大家下载了。下载地址为:http://www.cityedge.com.cn/flash/Help.rar 另外,您还需要下载这个CSS补丁,据反馈说源代码显示有问题,并且,不要用压缩包里的sad.dat覆盖原有的sad.dat文件!否则Reference会产生乱码