Flash AS 实例进阶 图片闪白切换效果实现代码

2019-10-08 13:50:15王冬梅

  “闪白”换场是电视拍摄用语,是画面切换过程中场景出现空白,有人将这一手法应用到网页图片的切换上来,也是一种不错的组图显示效果,这里我们用动作脚本来制作一个这样的实例。

  源文件下载

  >点击查看动画效果<实例2-8闪白

  基本思路

  ① 构建一个数组放置库中的多个类型为 MC 的图片。

  ②将数组中的元素依次加载到主场景。

  ③利用帧循环来依次改变各 MC 的状态。

  新知识点


复制代码
my_array = new Array(); // 使用构造函数来创建一个数组。
_root.attachMovie () // 加载 MC 到主场景,本实例是按索引从数组中取得 MC 。

补充模糊滤镜

复制代码
import flash.filters.BlurFilter;//载入滤镜类-模糊
var myBlurfilter:BlurFilter = new BlurFilter(blurX:Number, blurY:Number, quality:Number);// 创建一个模糊滤镜对象
var filterArray:Array = new Array();//创建一个临时数组
filterArray.push(myBlurfilter);//将新元素添加到数组的结尾
myMovieClip.filters = filterArray;//MC增加滤镜

  实例说明

  ① 8 个同样大小的位图都转换为 MC ,并在链接属性里作好相关设置。

  ②第 1 帧加载 MC 和变量初始化 , 第 2 帧到第 7 帧设置循环, MC 被依次改变属性为可见,并用透明度的变化来实现白和非白之间的画面转换。

  编写动作脚本

①在第 1 帧上输入:


复制代码
tu = new Array("a", "b", "c", "d", "e", "f", "g", "h");// 创建一个数组,其中的元素是库中的 MC
for (i=1; i<=8; i++) {
   _root.attachMovie(tu[i-1], "h"+i, i);// 将数组中 MC 加载到主场景的对象上
  with (_root["h"+i]) {// 设置对象属性
      _x = 250;
      _y = 90;
     _visible = false;
  }
}
i = 1;
n = 0;

② 在第 2 帧上输入:


复制代码
_root["h"+i]._visible = true;
_root["h"+i]._alpha = n*5;// 帧循环中透明度由 0 到 100 递加
n++;

③ 在第 3 帧上输入:


复制代码
if (n<21) {
  gotoAndPlay(2);
}

④ 在第 5 帧上输入:


复制代码
_root["h"+i]._alpha = n*5; // 帧循环中透明度由 100 到 0 递减
n--;

⑤ 在第 6 帧上输入:


复制代码
if (n>0) {
  gotoAndPlay(5);
} else {
  gotoAndPlay(2);
  i++;
  if (i>8) {