动画火焰效果

2025-12-17 22:10:39
推荐回答(2个)
回答1:

如何用flash制作火焰效果呢?下面我们由简到繁给出几种方法。

  方法一:简单位图MC动画实现

  这个方法是最为老套最为死板却总是最有效的办法——位图MC动画法(我喜欢称用位图来制作MC的方式叫"位图MC动画法")。

我从我的火焰素材库中找到了如上面的几张烈焰效果图,大家如果不满意可以尝试自己去绘制,笔者建议使用PhotoShop,因为在它其中就有相应的第三方插件能够非常快速的绘制出十分逼真的火焰效果位图。

  仔细观察上述四张图,我们可以看出它们之间的差别非常小,这样才能够形成动画效果更为逼真的火焰。如果大家有时间也可以多作几张图,你的火焰会更具动感。

   准备好素材后,我们仍旧按下Ctrl+R将以上的几幅图导入到Flash内,如果大家将上面的图形命名为Fire1、Fire2、Fire3、Fire4的话,那么在导入Flash的过程中应该会看到如下图2的提示框:

这个提示框的作用是询问你是否要将所有连续文件名的图形作为一个连续帧的形式导入到Flash,在这里我们选择了“是(Y)”,这样的话就形成了如下图3所示的效果:

最后我们在按下Ctrl+M快捷键设置了动画背景色为黑色以后就可以按Ctrl+Enter进行位图火焰动画效果测试了。
方法二:用AS实现温火欲动

  首先我们绘制了一个火焰之“小球”,如下图4所示。从外观上看,这根本不像是一团火焰,不过最终我们需要以它为基础绘制成一个火焰动画。

我们利用这个FireGraphic物件来绘制一个名称为Fire的MC

火焰之球动画断帧图(注意:使用Edit Multiple Frames)

   在第一帧我们绘制了一个浅蓝色的小球,在第五帧是黄色,十五帧是红色,25帧与30帧最是非常淡的颜色效果,并且利用Motion运作使它们连贯。

   为了较好的查看这个MC的运动效果我们按下了Edit Multiple Frames按钮,这样大家会发现原来在不同的帧的图形现在在同一画面内存在了,这样更有利于我们查看接近于最终的效果。如果我们按下onion Skin按钮则会出现如下图6所示的效果,现在我们的温火已经初步成形了。

火焰之球动画连贯图(注意:使用onion skin)

   大家可能会发现,在这个MC的第一帧上有一个“a”,我们查看一下它的代码如下:

scale = Number(random(50))+30;
setProperty (_target, _x, Number(../:x)+Number(random(12))-6);
setProperty (_target, _yscale, scale);

   我想到后面大家会发现这几行代码的主要作用:主要是让火焰小球产生一个随机动画改变位置的效果(改变_x、_y的值);

   上面的第一、三两句我们可以合并为:

setProperty(_target,_yscale,Number(random(50))+30);

温火欲动主场景图

  当我们把这个Fire(MC)放置于主场景后我们可以看到如上图7所示效果,我们将此MC的实体名命名为Fire,然后在场景中建立一个AS层,并在第1、2、3帧中输入如下代码行:

  第一帧,初始化变量:

   i = 1;
   max = 60;
   x = getProperty("fire", _x);

  第二帧,复制Fire这个MC:

   if (Number(i)<=Number(max)) {
     duplicateMovieClip ("fire", "fire" add i, i);
     i = Number(i)+1;
   }

  第三帧,删除复制出来的MC影片:

   if (Number(i)<=Number(max)) {
     removeMovieClip ("fire" add i);
     i = Number(i)+1;
   }

  gotoAndPlay (2);

  只需要复制与删除相应的MC就可以了。现在大家可以按下Ctrl+Enter测试一下这个温火欲动的火焰效果了。最后留给大家一点点小小的问题,在此例中我们为什么将复制出来的MC实例又用removeMovieClip命令将其删除呢
  

回答2:

我觉得最好看的动画片就是灌篮高手了 哈哈~

...............