如何制作复制影片剪辑并随机运动的效果?
作者:闪吧 类型:原创 来源:闪吧
如何制作复制影片剪辑并随机运动的效果?
解决思路
问题中已经说明了是运用复制影片和随机运动的语句,我们正是利用这两条语句,为了控制影片剪辑出现的数量,我们利用了一个循环语句中的条件来限制数量。并延长它的运动时间,达到动画效果。
具体步骤
为了说明这个问题,我们利用一个效果实例来介绍as的用法。
1, 运行flash mx,文档属性默认。
2, 在场景中利用绘图工具绘制一片绿叶。如图1所示。

图1 绘制图形元件
3, 按f8键转换为图形元件,命名为“叶”。
4, 新建一个影片剪辑,把“叶”图形元件拖放到影片剪辑的编辑区。在第20帧插入关键帧。移动图形元件的位置,并创建移动渐变动画。如图2所示。

图2 影片剪辑的时间线
5, 返回到主场景,把这个影片剪辑拖放到场景中。在下面的属性面板中,命名该影片剪辑的实例名称为“mymc”。如图3所示。

图3 命名影片剪辑的实例名
6, 下面我们来添加第1帧的as语句:
a = random(100);
while (Number(a)<=100) {
a = Number(a)+1;
setProperty ("_root.mymc", _x, random(500));
setProperty ("_root.mymc", _y, random(400));
setProperty ("_root.mymc", _xscale, random(60));
setProperty ("_root.mymc", _yscale, random(60));
setProperty ("_root.mymc", _rotation, random(360));
duplicateMovieClip ("_root.mymc", "mymc" add a, a);
}
7, 我们要让这个影片剪辑动起来,说在第3帧插入空白关键帧。添加as:
gotoAndPlay(1);做一个循环。
8, as的解释:
a = random(100);
//设置一个变量为a,并给他赋值为随机100。
while (Number(a)<=100) {
//利用一个循环语句while 。条件是当a<=100。也就是说,限制a的数值在100之内。则执行下面大括号中的语句
a = Number(a)+1;
//a的数值变化是+1。
setProperty ("_root.mymc", _x, random(500));
//设置属性,目标是场景中的mymc,属性是x轴,数值是随机在500之内。
setProperty ("_root.mymc", _y, random(400));
//原理同上,y轴数值到随机400之内。
setProperty ("_root.mymc", _xscale, random(60));
//x轴标尺,也就是缩放比例,随机数值60。
setProperty ("_root.mymc", _yscale, random(60));
//同上
setProperty ("_root.mymc", _rotation, random(360));
//设置属性中的旋转,数值为360度
duplicateMovieClip ("_root.mymc", "mymc" add a, a);
//复制影片剪辑,复制目标是mymc,复制出来的名称为mymc+a,深度为a 。
}
9,保存,测试。请参看源文件
瓢.fla
特别说明
这个实例运用的语句比较简单。重点说明一下while,我们利用了一个循环语句来让他在随机的范围内,循环出现。但是为了防止复制的影片剪辑过多,消耗完系统资源。我们在做循环的时候,加入了一个变量a,来控制它的出现数量。
- 最近更新
