PI/FW/Flash 总动员制作烟火效果
大家在制作flas易做图的时候为了表现情节,渲染气氛,难免会遇到很多特殊效果的制作。下面我就结合自己的经验来谈谈如何制作逼真的烟火效果。 制作原理:
利用photoshop或者其它位图工具制作出一张静态的烟雾(或火焰)图片,在fireworks中对图片进行加工,将其处理为透明的png图。再将png导入到flash中做最后的处理。使用png 的原因在于它具有优秀的透明属性,不象gif图形格式只有透明和不透明的选择,在导入到flash中之后不会出现烦人的毛边。
制作步骤:
首先使用图形软件制作一个火焰效果,如果您对photoshop不是很熟悉,制作上有困难的话,可以使用ulead公司的Photoimapct软件,其内置了数钟火焰滤镜,只需几个简单的操作就可得到满意的效果。以photoimpact6.0为例,在photoimpact中新建200*200背景色为黑色的新文件(如图一)。
在百宝箱中选择partical gallery——fire,右键单击想要的效果,在弹出菜单中选择modify properties and apply,打开partical面板,在这里我们可以调整火焰的属性,将density调整为1,(如图二)点击ok。将这张图形输出成psd格式。
同样再新建新文件,在百宝箱中选择partical gallery——smoke,右键单击想要的效果,在弹出菜单中选择modify properties and apply,打开partical面板,在这里我们可以调整烟雾的属性,将density调整为18,(如图三)点击ok。将这张图形输出成psd格式。
在fireworks中打开火焰的图片,使用魔术棒工具选择黑色的背景色,按del键删除。(如图四)将图形保存为png格式,使用同样的方法处理好烟雾的图片。
最后打开flash,新建一个高200,宽200背景色为黑色的文件,file-import将图导入。新建元件“烟”与“火”windows-library打开library面板,分别将烟图片和火图片拖拽到“烟”元件与“火”元件中,windows-pannel-align打开align面板,设置其居中对齐。
新建元件命名为“火动画”,从library中拖拽“火”到layer 1,分别在第5、10、15、20帧建立关键帧。单击第一帧,在frame面板中设置name属性为“a0”,单击第5帧,在frame面板中设置name属性为“a1”,单击第10帧,在frame面板中设置name属性为“a2”。使用scale与rotate调整每一关键帧上元件的大小与位置,并且在effect面板中调整各元件的颜色与透明度。在各关键帧之间分别建立motion动画。(如图五)
i = 0;
a = random (3);
setProperty ("fire", _visible, "0");
while (i<10) {
duplicateMovieClip ("fire", "fire" add i, i);
//当I<10时复制mc
setProperty ("fire" add i, _x, random (50));
setProperty ("fire" add i, _y, random (30));
//使用random函数取随机数,设置复制出的mc的x、y坐标
setProperty ("fire" add i, _xscale, random (50)+50);
setProperty ("fire" add i, _yscale, random (50)+50);
//设置复制出的mc的宽与高
setProperty ("fire" add i, _alpha, 70+random (30));
//设置复制出的mc的透明度
setProperty ("fire" add i, _rotation, random (50));
//设置复制出的mc的旋转角度
tellTarget ("fire" add i) {
gotoAndPlay ("a" add random (3));
}
//利用随机数决定从mc的什么位置开始播放
i = number(i)+1;
}
语法说明:
duplicatemovieclip,当动画正在播放时复制一个movie clip。复制出的moveclip与被复制的movieclip完全一样,并从第一帧开始播放。
语法:
duplicatemovieclip(target,newname,depth)
参数
target:要复制的movieclip的路径与名称
newname:复制出的movieclip唯一的名称
depth:景深
random()函数:random在actionscrip中是一个应用相当广的函数,它的作用是获取0到指定整数之间的任意整数。利用它,我们可以解决随机显示,随机移动等一系列的效果。是复杂动画的基础,对random函数的灵活应用,是我们解决很多实际问题,创造奇妙效果的前提。我们来看看它的语法:
random(value);
参数
value:所生成随机整数的上限
实例
random(4)所返回值可能为0,1,2,3
setProperty,在movieclip播放时设置其属性。语法:
setProperty(target,property,expression)
参数
target:要设置属性值的movieclip的路径与名称
property:待设置的属性
expression:待设置的属性值
实例
setProperty("xxx",_x,100)
将xxx的x座标设为100
下面开始制作烟雾效果,新建元件“烟动画”从library中拖拽“烟”元件到layer 1,分别在第5、10、15、20帧建立关键帧。单击第一帧,在frame面板中设置name属性为“b0”,单击第5帧,在frame面板中设置name属性为“b1”,单击第10帧,在frame面板中设置name属性为“b2”。使用scale与rotate调整每一关键帧上元件的大小与位置,并且在effect面板中调整各元件的颜色与透明度。在各关键帧之间分别建立motion动画。新建元件命名为“as烟动画”,将“烟动画”拖拽到layer 1,在instance面板中给它命名为“smoke”。双击第一帧,在弹出的actions面板中输入如下as:
k = 70;
b = random (3);
setProperty ("smoke", _visible, "0");
while (k<75) {
duplicateMovieClip ("smoke", "smoke" add k, k);
setProperty ("smoke" add k, _x, random (50));
setProperty ("smoke" add k, _y, random (30));
setProperty ("smoke" add
上一个:Flash中MC颜色的实时变换
下一个:使用Flash MX制作动态相册
- 更多Flash疑问解答:
- 今天教大家学会用U5制作成翻页相册
- Flash MX 2004 ActionScript图文教程(九)
- Flash MX 2004 ActionScript图文教程(八)
- Flash MX 2004 ActionScript图文教程(七)
- Flash MX 视频导入功能详解
- Flash5 画任意直线教程
- FLASH -- 关于变量的问题FLASH -- 关于变量的问题
- Flash本地加密
- flash场景之间相互跳转的实现方法
- Flash那样动感十足制作PPT按钮跟我来
- Flash Mx使用技巧十二则
- 使用Flash mx制作旋转的时钟效果
- PowerPoint中插入Flas易做图的方法
- 用FlashMX制作拖动悬浮窗口
- 在Flash中巧妙替换字体