以文本方式查看主题

-  ╋艺 镇╋  (http://zyzsky.com/bbs/index.asp)
--  ┣◇FLASH交流  (http://zyzsky.com/bbs/list.asp?boardid=5)
----  在Flash MX中制作Mask特效--朦胧的脸  (http://zyzsky.com/bbs/dispbbs.asp?boardid=5&id=1507)

--  作者:admin
--  发布时间:2008/5/7 13:03:18
--  在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效果,这样就可达到无法预料的美妙特效哦!快动手试试吧!

[此贴子已经被作者于2008-5-7 13:03:38编辑过]