Flash如何制作漫天飞雪的视觉效果

1个回答

写回答

本例讲解的是Flash制作漫天飞雪的视觉效果方法。教程制作出来的效果如鹅毛般的雪花悠悠而落,相当逼真。实例中通过简单的AS复制雪花并控制它们的运动,形成大雪纷飞的效果。

1.新建一个Flash文档,单击属性面板中的尺寸按钮,打开文档属性面板设置场景大小为450px x 180px,背景为#00105A,帧频为18fps。

2.按快捷键Ctrl+F8打开创建新元件面板新建一个名为雪片的图形元件,点选椭圆工具,在雪片元件的编辑场景中按Shift键拉出一个直径为5像素的圆,再用箭头工具稍微调整一下,最后形状大概如图所示。

3.新建一个名为雪花运动的影片剪辑元件,将其场景中的图层 1改名为雪片,将库面板中的雪片元件拖入该层的场景中。点选雪片层的第40帧按下F6键插入关键帧,接着右键单击第1帧选择创建补间动画命令,再点选第20帧再插入一个关键帧。4.右键单击雪片层,在弹出的菜单中选择添加引导层命令为雪片层建立一个引导层,如图2所示。在引导层里画一条曲线,将第1和第40帧的雪片元件吸附在曲线的左端,第20帧的雪片元件吸附在曲线的右端。如图所示(此图为400%显示 )。

5.回到场景1,把库中的雪花运动元件拖入到场景中,点选第3帧按下F5键插入帧。点选场景中的雪花运动元件,在属性面板里给影片剪辑雪花影片取个实例名雪花,如图所示。

6.在场景1中新建一个脚本层,分别点选层中的第1、2、3帧按F7键插入空白关键帧,如图所示,按F9键打开动作面板,输入如下代码:

第1帧中的代码如下:

复制代码

代码如下:

// 变量flakes用来控制雪花的数量,即密度

// _visible属性隐藏母本

n = 1;

flakes = 100;

雪花._visible = 0;

第2帧中的代码如下:

复制代码

代码如下:

i = 1;

while (i=flakes) {

//控制雪花飘落速度

this[雪花 add i]._y += Math.random()*2+2;

i++;

}

if (n == flakes) {

n = 1;

} else {

// Math.random()方法取0到1之间的随机数

ssize = Math.random()*50+30;

// 复制雪花

duplicateMovieClip(雪花, 雪花 add n, n);

// 控制雪花飘落范围

this[雪花 add n]._x = Math.random()*500;

// 雪花随机变换大小

this[雪花 add n]._xscale = ssize;

this[雪花 add n]._yscale = ssize;

n++;

}

第3帧中的代码如下:

复制代码

代码如下:

// 返回到第2帧播放

gotoAndPlay(2);

效果到这里就完成了。代码中的this对象的作用是引用影片剪辑实例。

举报有用(0分享收藏

Copyright © 2023 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号