|
在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
|