资源描述:
《flash制作雪花视觉动画效果三种制作方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Flash制作雪花视觉动画效果的三种制作方法 第一种方法: 最笨但也效果最好,就是用“引导线”功能,让雪花不停的飘呀飘,如果多用几个图层,效果更好。1、新建一个Flash影片。设背景为“黑色”,其他的用默认值。2、按Ctrl+F8新建一个组件,类型为“影片剪辑”,命名为“雪花”。在它的正中用“铅笔”工具画一个不规则的多边形,然后用“颜料桶工具”将它填上白色。(如图1-1所示) 3、再用Ctrl+F8建一个组件,类型为“影片剪辑”,命名为“前层”。 4、将组件“雪花”拖到其中,用“选定工具
2、”中的“比例”功能把它缩小(小技巧:先用“放大镜”将它放大,然后再用“比例”功能,可缩得更小)。在第80帧上“插入关键帧”,在“图层1”上用鼠标右键的“添加引导线”功能(见图1-2)。 在新增加的“引导线:图层1”的第1帧上,从“雪花”开始,画一条弯曲的曲线。将第80帧上的“雪花”沿曲线从头拖到曲线的末尾。然后在“图层1”的第1帧上点鼠标右键,选“创见动画动作”功能,见图1-3。 5、第4步是制作一片雪花,下雪不是只下一片的吧。插入图层,将第4步重复做10次。做好后的效果见图1-4。 6、
3、把第3至5步重复做两次,不同之处是组件的命名分别为“中层”和“后层”。“雪花”的大小和“引导线”的路径不要一样。这是为了多做几个图层,看起来效果细腻一点。7、现在回到场景1中,插入6个图层,分别命名为“后层1”、“后层2”、“中层1”、“中层2”、“中层3”、“中层4”、“前层1”、“前层2”。在对应的层上拖入对应的组件,并适当的调整时间轴,让雪花飘得连贯起来。见图1-5。 按Ctrl+Enter就可以看到效果了。第二种方法: 用Actionscript的函数,比较简便,具体步骤如下: 1
4、、新建一个Flash影片。设背景为“黑色”,其他的用默认值。 2、按Ctrl+F8新建一个组件,类型为“影片剪辑”,命名为“雪花”。在它的正中用“铅笔”工具画一个不规则的多边形,然后用“颜料桶工具”将它填上白色。用“选定工具”中的“比例”功能把它缩小。 3、把“雪花”拖到场景1中,在它的“实例面板”中的“名称”一栏中填上“snow”。在它的Action面板中加上如下动作:onClipEvent(enterFrame)setProperty(snow,_visible,false); 4、在
5、第1帧的Action面板上加如下动作:n=n+1;duplicateMovieClip(_root.snow,snows+n,n);setProperty(_root[snows+n],_x,random(550));setProperty(_root[snows+n],_y,-5);setProperty(_root[snows+n],_xscale,random(80)+20);setProperty(_root[snows+n],_yscale,_root[snows+n]._xscale
6、);setProperty(_root[snows+n],_alpha,random(70)+20);setProperty(_root[snows+n],_quality,LOW); 5、在第2帧上按鼠标右键的“插入关键帧”功能,见图2-1。并在它的Action面板上添加同第1帧一样的动作。 6、按Ctrl+Enter就可以看到效果。 第三种方法: 也是用Actionscript中的函数,不过效果跟上面一种是很不相同的。1、新建一个Flash影片。设背景为“黑色”,其他的用默认值。2、
7、按Ctrl+F8新建一个组件,类型为“图形”,命名为“雪花”。在其上用铅笔工具画一个雪花形状(见图3-1)。3、按Ctrl+F8新建一个组件,类型为“影片剪辑”,命名为“雪花影片”。把组件“雪花”拖到第1帧, 分别在第10帧和第20帧上“插入关键帧”。在第1帧中的组件“雪花”的“效果面板”上设定它的Alpha为0%。 把第10帧中的组件“雪花”往左下方拖一小段距离,在“效果面板”上设定它的Alpha为100%。把第20帧中的组件“雪花”往下方拖一段距离(要多过第10帧时拖的),在“效果面板”
8、上设定它的Alpha为0%。然后在第1帧和第10帧上分别选鼠标右键上的“创建动画动作”功能。完成的情况见图3-2。 4、把“雪花影片”拖到“场景1”,在它的“实例面板”中的“名称”一栏中填上“snow”。5、在“场景1”中的第2帧上先后按鼠标右键上的“插入关键帧”、“清除关键帧”。然后在第1帧上的Action面板上添加如下的动作:a=random(100);while(Number(a)<=100)a=Number(a)+1;setProperty(/snow,_x,random(500));