设为首页 加入收藏 网站搜索 繁體中文 中国建站网 — 站长资源分享平台

PI/FW/Flash 总动员制作烟火效果

来源:136z.Com 作者:佚名 时间:2005-03-12 23:10:59


 大家在制作Flash动画的时候为了表现情节,渲染气氛,难免会遇到很多特殊效果的制作。下面我就结合自己的经验来谈谈如何制作逼真的烟火效果。

  制作原理:
  利用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动画。(如图五)


  新建元件命名为“as火动画”,将“火动画”拖拽到layer 1,在instance面板中给它命名为“fire”。双击第一帧,在弹出的actions面板中输入如下as
  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

[1] [2]  下一页

Tags:

  • 好的评价 如果您觉得好,就请您
      0%(0)
  • 差的评价 如果您觉得差,就请您
      0%(0)
  • 相关文章
    广告赞助

    文章随便看看 设计素材 建站学院 网页模板 视频教程

    网友评论

    共有 0 位网友发表了评论,得分 0 分,平均 0 分    查看完整评论

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 1分

    内 容:

             通知管理员 验证码: