我们平时在flash中见到的文字特效都是一种效果,本实例将告诉您如何将同一段文字在一个动画中实现六中不同的效果,通过简单的代码控制即可实现,下面我们就来一起学习:)
我们的制作思路是:将不同效果的as控制代码放到不同的mc中,然后通过对mc的调用,从而实现了对文字特效的控制。
特效控制mc的制作:
特效1:
1. 首先建立一个movie clip,命名为appear,进入mc的编辑区后`,给图层layer1的第1桢加as:
this._alpha = 0;
var act;
stop();
//初始化,设置文本开始为不可见
2. 在第2桢插入一个关键桢,然后用文本工具画一个文本框,并在properties面板中设置此文本框为dynamic text动态文本框,并给文本框设置变量名text,如图1所示:

图1
3.然后在第三桢插入一个关键桢,加如下as:
if (this._alpha<100) {
this._alpha = this._alpha+4;
gotoAndPlay (2);
} else {
this._alpha = 100;
stop ();
}
//通过对文本_alpha透明度属性的控制,实现文字渐显的效果
3. 最后的时间线如图2所示:

图2
下面按照特效1完全一样的方法,制作其余5个特效控制mc,唯一一点不同的是每个mc的第3关键桢的控制代码不同,分别如下所示:
特效2(mc falldown)
if (this._alpha<100) {
this._alpha = this._alpha+5;
this._y = this._y+2;
gotoAndPlay (2);
} else {
this._alpha = 100;
stop ();
}
//在特效1----文字渐显效果的基础上,通过控制文本的_y属性实现文字的下坠效果
特效3(mc random x&y)
a=this._x;
b=this._y;
if (Number(a)!=_root.rancon:x[i] or Number(b)!=_root.rancon:y[i]) {
this._x=this._x+(_root.rancon:x[i]-Number(a))/15;
this._y=this._y+(_root.rancon:y[i]-Number(b))/15;
//read the origan values in the rancon mc and set step number!
chax=Math.abs(this._x-_root.rancon:x[i])
chay=Math.abs(this._y-_root.rancon:y[i])
if(Number(chax)<1 && Number(chay)<1){
this._x=_root.rancon:x[i];
this._y=_root.rancon:y[i];
}
this._alpha = this._alpha+5;
gotoAndPlay (2);
} else {
this._alpha = 100;
stop ();
}
//通过利用random()随机函数控制字母的_y和_x属性,来达到字母随机出现在舞台上,//并渐显的效果
特效4(mc x && y)
if (this._alpha<100) {
this._alpha = this._alpha+5;
this._y = this._y+2;
this._x= this._x+2;
gotoAndPlay (2);
} else {
this._alpha = 100;
stop ();
}
//通过控制字母的_x和_y属性,实现文本从舞台四周向中间靠拢的效果
特效5(mc xscale)
if (this._alpha<100) {
this._alpha = this._alpha+5;
this._x = this._x+5;
this._xscale = this._xscale-100;
gotoAndPlay (2);
} else {
this._alpha = 100;
stop ();
}
//通过控制字母的_xscale属性,实现字母横向伸缩并渐显的效果
特效6(mc yscale)
if (this._alpha<100) {
this._alpha = this._alpha+5;
this._y = this._y+3;
this._yscale = this._yscale-50;
gotoAndPlay (2);
} else {
this._alpha = 100;
stop ();
}
//通过控制字母的_yscale属性,实现字母纵向伸缩并渐显的效果
到此,六种文字特效的控制代码就写好了,下面还需要编写对mc控制代码进行控制的mc,听起来蛮复杂的,其实很简单的,请跟我来。