在Flash MX中制作Mask特效--朦胧的脸
相信许多朋友都已知晓,在Flash MX中可以利用Action来实现以往用Mask层才能制作出Mask的特效,但或许仍有诸多的朋友还未来得及尝试,这次我们就带领大家一起漫游Flash
MX的Mask特效历程。
首先我们先来观赏一下完整作品的效果(如图1)
图1
当我们点击了图中的红色按钮后,就出现了右边的图形特效。在部分显示出的图形中,我们隐约能够分辨出在这个效果示例中我们放置了两个图形,一张为带有翅膀的天使,一张为石马,类似窗帘拉伸的特效使两幅图形若隐若现。
步骤1首先准备两张被遮照的图形,如图2、3所示。
图2
图3
步骤2制作一个运动的遮照层(如图4)
图4
从图4中我们可以发现,在此例中我们只对几条色动作了一个Motion运动,这里的效果将决定最后遮照物显示的方式,它们按照我们所制作的运动方式来显示(这里我们制作的是窗帘的拉动效果)。
步骤3我们将上述的图形与遮照层放置入主场景中,并设置它们各自的实例名称(angel、scenery、stripes1、stripes2),如图5所示。
在此我们并没有设置任何的Mask层,自然也就没有任何的被Mask的图层。接下来我们建立一个Actions层,并输入如下的代码:
stop();
//设置天使与石马两个MC的可见性为否
angel._visible
= false;
scenery._visible
= false;
//设置两个运动的Mask的可见性为否,并将它们设置为暂停运动
stripes1._visible
= false;
stripes2._visible
= false;
stripes1.stop;
stripes.stop;
//Mask运动控制按钮
dual.onPress
= function() {
//设置天使与石马两个MC的可见性为真
angel._visible
= true;
scenery._visible
= true;
//设置天使与石马为被Mask,而stripes1与stripes2为主Mask层
scenery.setMask(stripes1);
angel.setMask(stripes2);
//
stripes1与stripes2开始作Motion运动以达到动态的Mask效果
stripes1.gotoAndPlay(1);
stripes2.gotoAndPlay(1);
};
到此我们终于完成了Mask的特效实例。在此实例中我们仅仅用了setMask一个设置Mask的命令,就将原来在Flash5中需要在Layer中设置Mask的功能转化了。当然我们此次所举的只是一个极其简单的实例,大家如果有兴趣还可以用lineto等命令将主Mask层和被Mask层动态地绘制出来,然后再作Mask效果,这样就可达到无法预料的美妙特效哦!快动手试试吧!