我们平时在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,听起来蛮复杂的,其实很简单的,请跟我来。
总体控制mc的制作:
新建一个movie clip组件,命名为con,插入三个关键桢,在第1桢添加如下as:
i=1;j=1;m=50;n=1;
var b =new Array();//ready for random
textnumber=length(_root:text);//read the length of text
for(i;i<=textnumber;i++){
duplicateMovieClip("/text", "text" add i, i);
set ("/text" add i add "/:text", _root:text.charAt(i, 1));//write a value from text to the duplicate mc
_root["text" add i]._x=30+n*9;//set the char's _x
_root["text" add i]._y=m;// set the lines
if(i%45!=0){
n++;
}else{
m=m+30; //change the number of lines
n=1;
}
}
for (j;j<=textnumber;j++) {
a=1+random(textnumber);
if (Number(eval("/text" add a add "/:act"))==0) {
b[j]=a;//thank for janlay to make me understand how to range random number
set("/text" add a add "/:act",1);//to diffrent the true or false.
}else{
j--;//It's important.Don't forget it,or you will lost some mc.
}
}
//利用数组,对舞台上的文本框中的单个字母进行存取,并加以控制,结合各个不同特效的控制代码,从而实现了不同效果的实现。
再第2关键桢加入如下as:
_root["text" add b[j]].play();
在第3关键桢加如下as:
j--;
if(Number(j)>=0){
gotoAndPlay (2);
}else{
stop();
}
//判断文本是否已经都处理完
好了,游戏的所有控制部分都做好了,剩下的任务就是把它们组织到一起,布置主场景了。
布置主场景:
回到主场景中,分别在图层layer1的1,3,5,7,9,11桢插入6个关键桢,每个关键桢的内容基本上也是相同的,首先以第1关键桢为例说明。
首先我们制作一个简单的按钮,用来选择不同的特效,然后依此排列6个在舞台的中间,如图3所示:
給第1个按钮加as:
on (release) {
gotoAndStop (1);
}
給第2个按钮加as:
on (release) {
gotoAndStop (2);
}
給第3个按钮加as:
on (release) {
gotoAndStop (3);
}
給第4个按钮加as:
on (release) {
gotoAndStop (4);
}
給第5个按钮加as:
on (release) {
gotoAndStop (5);
}
給第6个按钮加as:
on (release) {
gotoAndStop (6);
}
//上面的代码作用都一样,都是跳到有某种文字特效控制mc的那桢,以便mc对文字
//进行控制
最后給第一桢加as: stop();
然后需要设置我们的主角,表演特效的文本,用文本工具在舞台的上方写一些文字,内容可以任意,注意,不要写在舞台上哦,一定要写在舞台的上方,如图4所示:
图4
然后就要设置控制特效的mc了,将mc con拖到场景中,在properties面板中取名为con,这个控制mc是每一祯都需要的,因为它的作用是控制动画总体,然后每一桢再放入分别控制不同特效的控制mc,都在properties面板中取名为text,将mc appear放到第1桢,将mc falldown放到第3桢,将mc random x&y放到第5桢,将mc x && y放到第7桢,将mc xscale放到第9桢,将mc yscale放到第11桢,最后,给每一个关键祯加上as:stop(),即可。
到此为止,整个动画就完成了,您也可以将自己的特效做成单独的控制mc,然后运用到主场景中,这样,您的特效就越来越多,这也可以成为积累文字特效的一种方法。
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 没有查询到任何记录。
最新文章
Flash CS4基础入门
如何在Flash中打开一个定制的浏览器新窗口?学习ActionScript 3.0的6个好处几个小技巧精简Flash文件体积在Flash动画中添加“加为收藏”和“设为首页
人气排行 Flash游戏制作--小熊拼图用Flash实现几种镜头效果Flash制作动画知识:遮罩Flash如何做鼠标指针样式Flash制作环形文字Flash制作声情并茂的电子相册实例讲解flashMTV制作全过程(3)鼠标效果系列教程:游动的鱼
查看所有0条评论>>