首页     ◆ 历史教学    ◆ 课件制作

下载资源 素材邮购    ◆ 历史论坛

网友之家   ◆ 写信给我

 您的位置:周星多媒体工作室 >>课件制作>>FLASH教程>>flash中制作动态模糊效果
 
flash中制作动态模糊效果
加入时间:2002年12月5日 显示次数:1061
对此文章进行投票评论

在flash中制作动态模糊效果
熟悉photoshop的朋友肯定经常使用到motion blur(运动模糊)这个滤镜,利用它可以制作出逼真的动态模糊效果。我们在flash的制作中也经常需要动态模糊来表现效果。比如一辆高速运行的汽车,飞速奔跑的运动员等,而在静止的画面中使用这样的效果也将使整个动画充满活力。但是遗憾的是大家都知道在flash中是没有特效滤镜的,那么怎么样来实现这样精彩的效果呢?其实只要变换一下思维方式,我们也不难找到解决的方法,而且还不止一种。下面我就将向大家介绍其中两种方法。
一、 多个movieclip重叠法
原理说明:
利用将数个有不同透明度的movieclip相互重叠并少许错位产生模糊的效果。而每一个movieclip都向中心点做motion运动,最后完全重合,就达到我们要的动态模糊的效果。
制作步骤:
首先,打开你的flash,新建文件,modify-movie在弹出的properties面板上设置影片的宽为450px,高为250px。背景色为白色。insert symbol新建一个元件,命名为“小孩”,使用file-import命令导入小女孩的图片,window-panels-align在弹出的align面板上设置居中对齐。再新建元件命名为“动态模糊一”,从library中拖拽“小孩”元件到layer1,设置居中对齐后将其向上移动约5个像素。(你可以使用鼠标拖动它,也可以利用键盘的上下键来进行移动)。

(如图一)

Windows-panels-effect打开effect面板,设置alpha属性为28%,(如图2)

即此movieclip的透明度为28%。新建一层layer2,从library中拖拽“小孩”元件到layer2,设置居中对齐后将其向左上移动约5个像素,在effect面板上设置alpha属性为35%。新建一层layer3,从library中拖拽“小孩”元件到layer3,设置居中对齐后将其向左移动约5个像素,在effect面板上设置alpha属性为40%。新建一层layer4,从library中拖拽“小孩”元件到layer4,设置居中对齐后将其向左下移动约5个像素,在effect面板上设置alpha属性为45%。在layer 1的第5帧建立关键帧,并将在第5帧上的“小孩”元件居中对齐。鼠标右键单击从第一帧到第5帧之间的任意一帧,在弹出的菜单中选择:create motion tween,建立motion动画。使用同样的方法,在其它三层的第5帧建立关键帧并设置了居中对齐后,建立motion动画(如图3)。


回到scene 1,从library中拖拽“动态模糊一”元件到layer1,ctrl+enter测试一下影片,怎么样,是不是正是你想要的效果?

二、 Actionscript复制movieclip法
原理说明:利用actionscript复制movieclip,并且赋予每一个movieclip不同的位置与透明度,再使每一个复制出来的movieclip都向同一方向做减速运动,最终静止。从而达到运动的效果。
制作步骤:
建元件命名为“小孩动画”,从library中拖拽“小孩”元件到layer 1,在第3帧新建关键帧,windows-panels-effect,在弹出的effect面板上设置透明度为0%。鼠标右键单击从第一帧到第三帧的任意一帧,create motion tween,建立motion动画。双击第三帧,在frame action面板上输入stop();。回到scene 1,将“小孩动画”拖拽到layer1,新建一层layer2,双击第一帧,在frame actions面板输入(如图4):


x = 200;
i = 0;
z = 48;
y = 0;
//以上代码的含义是:赋予变量初始值。其中I代表复制movieclip的个数,z代表初始的x坐标,z代表每次向左运动的距离。y代表初始的透明度。
在layer 2的第2帧建立关键帧,双击第二帧,在frame actions面板输入(如图5):


if (i>10) {
stop();
}
duplicateMovieClip ("aa", "aa" add i, i);
setProperty ("aa" add i, _x, number(x));
setProperty ("aa" add i, _alpha, number(y)+random(5));
//以上代码的含义是:首先利用变量I来控制复制多少个movieclip,当I>10时就将停止movieclip的复制。在判断完是否结束复制之后,复制movieclip,设置movieclip的x坐标值与透明度。
在layer 2的第3帧先建关键帧,双击第三帧,在frame actions面板输入(如图6):


i = number(i)+1;
z = number(z)-8;
x = number(x)+number(z);
y = number(y)+5;
gotoAndPlay (1);
//以上代码中需要注意的是:x = number(x)+number(z);我们知道x将作为x坐标值 赋予复制出的movieclip,而将x值加上z的值表示每一个复制出的movieclip的x坐标都将改变数值z的大小。而在z = number(z)-8;中我们可以知道,每一次z值都将减少8,其实也就是movieclip的x坐标的改变值每一次都要少8,也就实现了我们需要的减速运动的效果。
在layer 1的第2帧按下F5插入一帧(insert frame),完成了动画制作。

本例效果:http://www.5dmedia.com/users/pcking/blur.swf
本例源文件:http://www.5dmedia.com/users/pcking/blur.fla


作者:pcking
地址:广东省深圳市罗湖区建设路2022号国际金融大厦中国银行深圳分行公司业务处陈旭
邮编:518001

作者:PC-KING
来源: