本例讲解的是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对象的作用是引用影片剪辑实例。
Copyright © 2023 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号