13.选中“雪花”层的第40帧按下F6键插入关键帧,接着右键单击第1帧选择“创建补间动画”命令,然后选中第20帧再插入一个关键帧。
14.右键单击该层并在弹出的菜单中选择“添加引导层”命令为“雪花”层建立一个引导层。在引导层里画一条曲线,然后让第1帧和第40帧的“雪花”元件吸附在曲线的左端,第20帧的雪花吸附在曲线的右端。如图11所示。
图 11
15.新建一个名为“落雪”的影片剪辑元件。从库中把“雪花影片”元件拖拽到“落雪”的场景中,选中第3帧按下F5键插入帧。点选场景中的雪花影片,在“属性”面板里给影片剪辑“雪花影片”取个实例名称“snowflake”,如图12所示。
图 12
16.在“落雪”元件中新建一个“脚本”层。如图13所示。分别点选中该层的第1、2、3帧,然后按下F7键插入空白关键帧,并按F9键打开“动作”面板,键入如下代码:
图 13
第1帧中的代码如下:
// n是复制的影片剪辑的唯一深度级别。深度级别是被复制影片剪辑的堆叠顺序,即影片各自的层次
n = 1;
// 变量flakes用来控制雪花的数量,即可以控制雪花的密度
flakes = 100;
第2帧中的代码如下:
i = 1;
while (i<=flakes) { //控制雪花飘落速度
this["snowflake" add i]._y += Math.random()*2 + 2;
i++;
}
if (n == flakes) {
n = 1;
} else {
snowflakesize = Math.random()*30+30; //复制雪花影片
duplicateMovieClip("snowflake", "snowflake" add n, n); //控制雪花的飘落范围
this["snowflake" add n]._x = Math.random()*500; //控制雪花的大小
this["snowflake" add n]._xscale = snowflakesize;
this["snowflake" add n]._yscale = snowflakesize;
n++;
}
第3帧中的代码如下:
//制造影片的回路,让影片可以不停地播放
gotoAndPlay(2);
代码不是很多,也不是很难理解。代码中,Math.random()用来产生随机数字,其返回的值在0到1之间,但不包括1。DuplicateMovieClip()的作用是复制影片剪辑。_x属性和_y属性在影片剪辑在场景中的坐标值,也就是它们在场景中的位置。_xscale属性和_yscale属性是影片剪辑的水平和垂直缩放比例属性。而this对象的作用则是引用影片剪辑实例。