接下来我们就要
让蝴蝶飞起来了。我们再新建一个Movie Clip组件,起名为fly,在fly组件编辑区中,用鼠标右键点击图层layer1,在弹出的菜单中选择Add Motion Guide命令,添加一个引导层,如图5所示:
图5
然后在引导层layer2上画一条弯曲的线,绘制蝴蝶飞舞的路径,绘制的时候选择straighten方式
, 然后利用次选工具
进行调节,这时候我们发现flash mx的次选工具的功能加强了 ,当你选择任一个点时都能够轻松的对线段的弧度进行调节,弯曲度可以自己掌握,最好看上去象真正的蝴碟的飞行路径就可以了,如图6所示:

图6
然后选择图层layer1,将组件butterfly从图库中脱到图层layer1中,并且将butterfly组件定位到引导线的一个端点,作为飞行的开始点,大家注意一定要先将flash的吸附功能打开,方法是点一下工具箱中的吸附按钮
,这样才能使引导线起作用。如图7所示:
图 7
然后分别在图层layer1的第6,13,21,30帧建立关键帧,将蝴蝶定位到引导线的不同位置,最后分别建立motion tween移动过渡,然后也可以接着复制几只蝴蝶 ,对蝴蝶的飞舞方向进行适当的调节,这时候就使用到了flash mx的新增工具 Free Tramsform Tool,减轻了以前制作过程中对object的大小角度调节的工作强度,这样,蝴蝶的飞行动画也做好了。最后时间轴如图8 所示;
图8
接下来就是要进行as的编写,对组件fly进行控制,以产生随机出现的飞舞的蝴蝶。
作者:flashsj出处:天极设计在线责任编辑:
[ 2002-03-28 18:19 ]
下面的这个实例是一群蝴碟飞舞的效果,使用了不少MX的新功能,现在就让我们看看具体如何来制作
接下来就是要进行
as的编写,对组件fly进行控制,以产生随机出现的飞舞的蝴蝶。
在Flash MX中写as,比flash5多了一个很有用的辅助功能,就是我们在写入ActionScript时,可以对程序的行进行编号,这样就方便了多人团体合作时对程序的调试和维护,如图9和图10所示:

图9
图10
我们在新建立一个mocie clip组件,起名为action,在这个组件中,我们来编写控制动画的核心as,首先在组件中新建立一个图层layer2,然后将组件fly拖到图层layer2中,将时间轴延续到第八帧,如图11所示:
图11
然后打开Properties面板,给fly组件取实例名为bb,如图12所示:
图12
在图层layer1的第一帧中添加一下代码:
Count = 0;
//设置一个记数器,并赋初值为0
OldY = _ymouse;
//取得鼠标的y坐标值
OldX = _xmouse;
////取得鼠标的x坐标值
在图层layer1的第3帧插入一个关键帧,添加一下代码:
MouseX = _xmouse;
//再次取得鼠标的x坐标值
MouseY = _ymouse;
//再次取得鼠标的y坐标值
if ((Number(OldX)<>Number(Mousex)) or (Number(OldY)<>Number(MouseY))) {
//如果新旧坐标值不相等,则执行下面的代码
duplicateMovieClip("bb", "bb" add Number(Count), Count+850);
//复制电影剪辑bb
setProperty("bb" add Number(Count), _x, MouseX);
//设置复制出的对象的x坐标
setProperty("bb" add Number(Count), _y, MouseY);
//设置复制出的对象的y坐标
setProperty("bb" add Number(Count), _rotation, random(360));
////设置复制出的对象的角度
Count = Count+1;
//记数器加一
if (Number(Count)>7) {
Count = 0; //最多复制七个
}
}
同样在图层layer1的第6帧也插入一个关键帧,添加一下代码:
OldX = _xmouse;
//保存以前的鼠标的x坐标值,以为以前的值要和新的值进行对比
OldY = _ymouse;
//保存以前的鼠标的y坐标值
gotoAndPlay(3);
//循环执行核心代码
最后将图层layer1的时间线延续到第8帧,最后的时间线如图13所示:
图13
回到主场景中,将组件action拖到主场景中,这样我们制作的蝴蝶飞舞就完成了,虽然制作起来不是很复杂,但是看起来蛮漂亮的,大家可以在学习的过程中继续寻找MX的新特点,结合自己的知识来制作一些实例,既锻炼了自己的水平,也可以与别人交流经验,岂不是一举两得吗。 源文件下载