ActionScript教程

关注公众号 jb51net

关闭
媒体动画 > Flash教程 > ActionScript教程 >

Flash AS 实例进阶 遮罩效果实例讲解

脚本之家

  源文件下载

  >点击查看动画效果<实例2-7遮罩

  基本思路

  ① 以一个矩形做遮罩,面积由线到面慢慢展开,被遮罩的图形即逐渐显现。

  ②同样的图形,以变形设置令长度扩大到 2 倍,再让这图形与上面的遮罩作反方向的运动,形成一个长图逐渐压缩成标准状态的变化效果。

  实例说明



  my_mc.setMask(mask_mc)// 括号内是用作遮罩的 MC ,前面的是被遮罩的 MC
  my_mc.swapDepths(depth)// depth 一个数字,指定 my_mc 将被放置的深度级别。


用 %(模)控制 _width 或 _height 的变化。

  编写动作脚本

  ①在第 1 帧上输入:


with (zhezhao) {// 为 MC “ zhezhao ”的属性设初始值
   _width = tu._width;
   _height = 0;
   _x = Stage.width/2;//置场景水平中心。
   _y = Stage.height;//抵场景底端。
}
tu.setMask(zhezhao);// 用 MC “ zhezhao ”为 MC “ tu ”设遮罩
tu.swapDepths(100);// 将 MC “ tu ”的深度层改为 100
duplicateMovieClip(tu, "tu1", 10);// 用 MC “ tu ”复制出 MC “ tu 1 ”
tu1._height = tu._height*2;// 设置 MC “ tu 1 ” 的高度为 MC “ tu ”的 2 倍
tu1._y = 0;// MC “ tu 1 ” 垂直定位


② 在 MC “ zhezhao ”上输入:


onClipEvent (load) {
  i = 0;// 变量初始化
}
onClipEvent (enterFrame) {
  this._height = i%400;// 取模的值设为此 MC 的高
  _root.tu1._y = i%400; // 取模的值设为主场景上 MC “ tu 1 ” 的垂直坐标点
  i += 10;
}


  要点分析

  ①脚本里的遮罩和图层上的遮罩有一点区别,是一个 MC 遮罩另外一个 MC ,而图层遮罩可以是一个图层同时遮罩几个图层。

  ②一个遮罩组合里作遮罩的 MC 和被遮罩的 MC 的深度层可不区分上下,这和图层遮罩也不同,图层遮罩里遮罩层必须在被遮罩层之上。

  ③各个遮罩组合里的被遮罩的 MC 的深度层是要明确上下关系的,级别高的在级别低的之上,这点过去我们已经学习过,这里需再强调。

  ④这实例只是两个对象有动作,在前面讲的两个遮罩组合里,一个是上面遮罩组合里的 MC “ zhezhao ”,和下面组合里的 MC “ tu 1 ” , 它们必须同比例变化,才保证有上下吻合的效果。

  小结

  本讲学习的目的就是在动作脚本里使用遮罩,在 Flash 的基本应用中遮罩很重要,而 用脚本实现某些效果,同样也时常要应用到遮罩,而且有更丰富多彩的表现,所以应该熟练掌握。

  实例中没对“tu1"作遮罩处理,在全屏显示时场景外的图会被显示出来,若需处理,请看参考实例源文件

  课后练习

  作一横向变化效果的,若喜欢钻研的朋友可作有一定倾斜角度的,范例效果:

  >点击查看动画效果<

  >点击查看动画效果<练习2-7

  查看全套"Flash AS 实例进阶教程"