下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

如何用Flash制作在花丛中飞舞的蝴蝶动画

作者:课课家教育     来源: http://www.kokojia.com点击数:4830发布时间: 2019-03-16 20:43:30

标签: flash基础flash教程flash动画

想学设计?来看看大师是如何完成作品的?

  无论是在公园还是我们不经意路过的街口,在天气晴朗的时候我们经常能够见到,花丛里蝴蝶飞舞的美丽景象。除了拍照等手段可以留下这个美景,其实用flash也能打造蝴蝶飞舞的场景,而且也不难操作。现在我们就一起来尝试一下如何用Flash绘制出蝴蝶在花丛中飞舞的动画吧!

  用Flash制作花丛中蝴蝶飞舞的动画,在基本步骤中,关键的是蝴蝶翅膀绘制。在这里我们制作的时候,就要充分利用到Flash提供的绘图工具。我们一起来看看具体步骤吧。

  制作步骤:

  1.我们在这里用的是Flashmx2004版本,首先启动软件,在"修改"-->>"文档"处来修改文档的属性,具体数据如下图所示:

如何用Flash制作在花丛中飞舞的蝴蝶动画_flash基础_flash教程_flash动画

  2.在之前在有制作过类似动画的时候我们应该都可以分析到,Flash制作蝴蝶飞舞效果时,蝴蝶都是身体不动,而只是翅膀在动,所以制作蝴蝶等之类的动物时候,关键是绘制出蝴蝶的翅膀,只要蝴蝶翅膀挥舞能动,这样就能绘制出更为灵动的蝴蝶飞舞了。在这里我们就要充分利用到Flash提供的绘图工具了!当然在这里我们应该先是新建一个元件,行为是图形,命名为蝴蝶翅膀。具体效果如下:

蝴蝶翅膀图形

  然后新建另一个元件,行为是图形,命名为蝴蝶翅膀2,效果如下:

蝴蝶翅膀2图形

  3.那么我们的蝴蝶翅膀就绘制好了,下面我们来让蝴蝶翅膀动起来,制作翅膀动画。先新建一个电影元件,命名为蝴蝶动画,行为是电影剪辑;大家都知道蝴蝶是有两支翅膀的,所以在这里我们应该建立3个图层,上面两个分别放蝴蝶的两支翅膀,最底下的图层是绘制蝴蝶的身体,蝴蝶身体的效果如下:

蝴蝶身体

  第1帧,组合之后的效果:

蝴蝶动画第一帧组合效果

    第3帧,使用变形工具调整,组合之后的效果如图:

第三帧组合效果

  第10帧,组合之后的效果如图:

第十帧组合效果

  第13帧,组合之后的效果如图:

第十三帧组合效果

  4.现在我们来用同样的方法来制作第2只蝴蝶的动画。像上面的步骤一样,新建一个电影元件,命名为蝴蝶动画2,行为是电影剪辑。但是当然不能和上面设置的帧相同,那样制作出来的效果会差一些,没那么生动。

     来看第1帧组合之后的效果:

蝴蝶动画二第一帧组合效果

  第4帧,组合之后的效果如图:

蝴蝶动画二第4帧组合效果

  第6帧,组合之后的效果如图:

蝴蝶动画二第6帧组合效果

  第9帧,组合之后的效果如图:

蝴蝶动画二第9帧组合效果

  那么现在,我们的主体——蝴蝶的动画就都制作好了!

  5.下面我们就可以开始引用刚才所制作的两个动画,先新建一个电影元件命名为引用,行为是电影剪辑,之后我我们建立的蝴蝶动画从库中拖出来;再新建一个元件命名为引用2,行为是电影剪辑,把蝴蝶动画2从库中拖出来。

  6.新建一个元件命名为辅助,行为是电影剪辑,然后在场景中绘制一个小的矩形。如下图:

辅助矩形

    7.接下来,我们回到主场景中,开始动画的制作。首先我们在图层1中导入一副图片做背景使用,当然,这里的背景图要选择和花丛相关的。然后新建一个图层,命名为蝴蝶阴影。我们再从库中拖出“引用”和“引用2”,分别设置它们的Alpha为10%,分别给它们命名实例名为shADOw0_mc和shadow1_mc。如下图所示:

蝴蝶阴影图层

蝴蝶阴影图层

蝴蝶阴影图层

  8.新建一个图层,然后把“引用”、“引用2”和辅助拖出来,这里需要注意的是辅助要拖两次,放置效果如下图:

蝴蝶动画背景

  然后分别给“引用”实例名命名为fly0_mc,“引用2”实例名命名为fly1_mc,辅助的实例名命名为:transp0、transp1。

  9.最后是新建一个图层改名为action,然后按F9打开动作面板,输入如下动作:

  probability=100;

  scene_width=500;

  scene_height=290;

  speed=0.03;

  depth=15;

  MovieClip.prototype.smoothMove=function(speed,targetx,targety){

  this._x+=speed*(targetx-this._x);

  this._y+=speed*(targety-this._y);

  };

  MovieClip.prototype.rotateTo=function(targetx,targety){

  vardiffX=targetx-this._x;

  vardiffY=targety-this._y;

  this._rotation=Math.atan2(diffY,diffX)*180/Math.PI;

  };

  _root.transp0.onEnterFrame=function(){

  if(random(probability)==1){

  target0X=random(scene_width);

  target0Y=random(scene_height);

  }

  this._visible=0;

  this.smoothMove(speed,target0X,target0Y);

  };

  _root.transp1.onEnterFrame=function(){

  if(random(probability)==1){

  target1X=random(scene_width);

  target1Y=random(scene_height);

  }

  this._visible=0;

  this.smoothMove(speed,target1X,target1Y);

  };

  _root.fly0_mc.onEnterFrame=function(){

  this.smoothMove(speed,transp0._x,_root.transp0._y);

  this.rotateTo(_root.transp0._x,_root.transp0._y);

  };

  _root.fly1_mc.onEnterFrame=function(){

  this.smoothMove(speed,transp1._x,_root.transp1._y);

  this.rotateTo(_root.transp1._x,_root.transp1._y);

  };

  _root.shadow0_mc.onEnterFrame=function(){

  this.smoothMove(speed,transp0._x,_root.transp0._y+depth);

  this.rotateTo(_root.transp0._x,_root.transp0._y+depth);

  };

  _root.shadow1_mc.onEnterFrame=function(){

  this.smoothMove(speed,transp1._x,_root.transp1._y+depth);

  this.rotateTo(_root.transp1._x,_root.transp1._y+depth);

  };

  这样,我们的蝴蝶动画就制作完成了,我们可以按Ctrl+回车键来测试动画。

  小编总结:怎么样,是不是发现其实制作难度并不大,而且制作步骤并不复杂。只需要简单的几个步骤,属于我们自己的蝴蝶飞舞花丛动画就可以绘制出来了。多加练习,还能制作出更复杂更生动的蝴蝶动画哦!

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程