Actionscript实现动态模糊效果

      Flash学习 2005-6-28 23:14
在一些片头或MV的动画里我们经常能看到很炫的模糊效果,极具视觉冲击。高质量的模糊效果大多都采用位图并利用其它软件(如:photoshop)处理后才导入flash中进行制作。其实,在flash中也可以利用其强大的脚本功能来实现动态模糊的效果(虽然效果差一点:P)。

观看本例效果:

Flash 动画


制作思路:

利用循环和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《max; 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《max; 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 就可以观看动态模糊的效果.
标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commentauthor}
{commentauthor}
{commenttime}
{commentnum}
{commentcontent}
作者:
{commentrecontent}