还是从实例入手,我们使用duplicateMovieClip方法来实现下雪的效果。OK,Let’ go!
打开Flash MX 22004,新建一个文档,这里为了在论坛显示方便,我将大小设置为480*360,背景为兰色。按Ctrl+F8新建一个元件,名称为雪花,行为选影片剪辑。我们来制作一个简单的雪花元件。选择工具箱直线工具,笔触颜色选白色,笔触高度为3,按住Shift键在场景中绘制一条线段,再在线段两侧分别绘制两条线段,如图5-1所示。
像个小麦穗,呵呵。单击工具箱选择工具,框选整个图形。然后单击工具箱任意变形工具,将注册点移到图形下方中间位置。然后按Ctrl+T打开变形面板,将旋转角度设为60度,单击复制并应用变形按钮5次。OK,雪花元件就做好了,呵呵。如图5-2所示。

回到场景中,按F11键打开库面板,将雪花元件拖到舞台上方,调整一下它的大小,并为该元件起实例名snow,然后在时间轴第二桢和第三桢分别按F6插入关键桢。
单击时间轴第一桢,按F9键打开动作面板,输入命令
i = 1;
max = 50;
对变量i和max进行初始化。
单击选中时间轴第二桢,在动作面板输入命令
duplicateMovieClip(snow,"snow"+i, i);
//复制雪花
this["snow"+i]._x = random(1200);
//设置雪花出现的X轴坐标
size = (random(10))+5;
this["snow"+i]._xscale = size;
this["snow"+i]._yscale = size;
//设置雪花出现的大小
for (j=1; j<=max; j++) {
//使所有雪花下落
this["snow"+j]._y = this["snow"+j]._y+(random(10))+5;
}
单击选中时间轴第三桢,输入命令
if (i > max) {
i = 1;
} else {
i = i+1;
}
gotoAndPlay(2);
好了,按Ctrl+Enter进行测试吧。
点击浏览该文件
效果是做出来了,可还不知道为什么,呵呵,听我慢慢道来。
在第一桢设置了两个变量i和max的初始值分别为1和50,变量max的值用来界定要复制的影片剪辑snow的数目。
第二桢第一句duplicateMovieClip(snow,"snow"+i, i)用来复制影片剪辑实例snow,复制后的实例名为"snow"+i,深度级别为i。关于duplicateMovieClip的用法,官方的解释如下:
duplicateMovieClip(target, newname, depth)
参数
target要重制的影片剪辑的目标路径。
newname已重制的影片剪辑的唯一标识符。
depth已重制的影片剪辑的唯一深度级别。深度级别是重制的影片剪辑的堆叠顺序。这种堆叠顺序很像时间轴中图层的堆叠顺序;较低深度级别的影片剪辑隐藏在较高堆叠顺序的剪辑之下。必须为每个重制的影片剪辑分配一个唯一的深度级别,以防止它替换已占用深度上的 SWF
共有 0 位网友发表了评论,得分 0 分,平均 0 分 查看完整评论