在一些片头或MV的动画里我们经常能看到很炫的模糊效果,极具视觉冲击。高质量的模糊效果大多都采用位图并利用其它软件(如:photoshop)处理后才导入flash中进行制作。其实,在flash中也可以利用其强大的脚本功能来实现动态模糊的效果(虽然效果差一点:P)。
观看本例效果:
制作思路:
利用循环和attachMovie 方法从库中把电影剪辑附加到舞台上,并控置其位置及alpha透明度的变化。
制作过程:
步骤1:
启动Flash,新建一个影片,设置影片大小为450px*100px,影片背景色为深蓝色,颜色代码为#000033,帧速率30fps
步骤2:
按快捷键Ctrl+F8新建一个名为"text"的Movie Clip符号。在"text"场景里按快捷键T,Ctrl+F3,然后选取你喜欢的字体、字号、字体颜色在场景里输入自己喜欢的字母(或图符),并把字母在"text"场景里的x、y坐标设置为(0,0)。(这里采用字体:Arial Black ;字号:35 ; 颜色:白色; 字母:I LOVE YOU)
按快捷键Ctrl+F8再建一个名为"control"的Movie Clip符号。这是一个空的Movie Clip ,目的是用来设置有关代码进行控制。按快捷键 Ctrl+E回到主场景。Ctrl+L调出库文件,右键单击"text" Movie Clip ,点选linkage 调出linkage Properties 面板,输入该 Movie Clip的链接标识符"text"(注:这是使用attachMovie 函数所要注意的一个地方)
接下来从库中把control这个空的Movie Clip拖到主场景,为其加代码:
onClipEvent (load) {
var max = 10;//声明变量max,并给它赋值
var anglestep = 360/max;//声明变量anglestep,并给它赋值
var rad = (Math.PI/180);//声明变量rad.数学中1π=180度,这里设置rad为1度所表示的弧度值
for (i=0; i
_root.attachMovie("text", "text" add i, 10+i);
//利用attachMovie把库中链接标识符为"text"的Movie Clip附加到主场景,新名字为"text"
//add i 深度为 i
}
//初始化一些变量
d = 0;
dstep = 0.15;
a = 50;
astep = 1.25;
}
onClipEvent (enterFrame) {
for (i=0; i
//动态设置附加到主场景的Movie Clip 位置、Alpha 透明度
其中225、50这两个数,目的是使字母I LOVE YOU 位于主场景的中心(影片大小450px*100px)
_root["text"+i]._x = 225+d*Math.cos((anglestep*i)*rad);
_root["text"+i]._y = 50+d*Math.sin((anglestep*i)*rad);
_root["text"+i]._alpha = a;
}
a+= astep;//a累加
d+=dstep;//d累加
if ((a> 50) || (a <-5)) {
//判断a> 50或者a <-5时,astep *= -1、dstep *= -1;
其中-5这个数字可以控制字母从不可见到可见所需的时长。你可以试着调整50、-5这两个数体会体会。
astep *= -1;//等效于astep=astep*-1;
dstep *= -1;//等效于dstep=dstep*-1;
//astep *= -1、dstep *= -1这样设置的目的是使字母产生
//清晰→模糊→不可见→模糊→清晰的过程
}
}
至此,代码设置完毕,Ctrl+Enter 就可以观看动态模糊的效果.