首先,对时刻在我身边的网络朋友们和经常来信鼓励我的网友们表示感谢。我会坚持下去,并写出尊重Flash MX的名字的系列文章。
Flash MX在Macromedia的MX战略方向的重视使得其开放式的结构可以应用于更多的网络内容和开发应用,今天,我们针对新提升的网络数据和文本相关操作进行解析。
TextField对象
新的TextField对象是从Object对象继承而来,使得在Flash中动态建立文本的童话变成现实,而这一些你只要从MovieClip.createTextField开始(这条语句想必使用频率非常的高,所以我把格式写出来): MovieClip.createTextField(Instance名称,深度,初始x轴位置,初始y轴位置,初始宽度,初始高度);
通过MovieClip的createTextField方法,你将可以动态的在程序运行期间建立文本区并可设置其属性和方法:
createTextField("txt",++dpt,80,100,100,200);
txt.wordwrap=true;
var i=30;
while (i--) txt.text+="rice...";
通过这行代码,我们在程序运行期动态建立一个Instance名称为txt的文本区并置于第1层深度,规定其初始位置在(80,100),高200宽100;这个“筐”做好以后,我们可以往里面放东西,但是我们在放之前,我们需要规定它的另一个属性wordwrap,这个属性的作用相当于规定了你的筐有没有封边,如果初始值为false,那么这个“筐”是失败的,只可以当作“席子”;随意我们规定了这个“筐”封边,并塞入30“斤”大米。试运行下结果。(如图1,阿,看起来到真像大米筐……)

(图1)
成功的第一步迈开了之后,让我们对上面丑陋的大米筐装修一下。
createEmptyMovieClip("mc",++dpt);
with (mc) {
createTextField("txt",++dpt,80,100,100,100);
txt.putRice=function(rice){
if(rice){
txt.text+=".";
arguments.callee(--rice)}return;
};
txt.border=1;
txt.multiline=1;
txt.background=1;
txt.wordWrap=1;
txt.putRice(254);
txt.putRice(36);
}
由于TextField是MovieClip的方法,所以我们出于学习而产生一个空的MovieClip来装这个文本区;程序运行后动态产生一个文本区,并有一个边框和白色的背景,最后用自定义方法putRice装载“大米”,由于Flash MX的递归调用最多只可以支持256层(0-255),所以我们还不能一下子装载300斤,只能分两次装(254+36),最后形成的结果如下:(图2)

(图2,看起来好整齐的大米,其实多余的部分已经漏到地低下去了……)