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

所属分类: 媒体动画 / Flash教程 阅读数: 102
收藏 0 赞 0 分享

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

  源文件下载

  >点击查看动画效果<实例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) {
    i = 1;
  }
}

  要点分析

  ①数组中的元素就是库中含有位图的 MC 元件,共 8 个,数组元素的索引也是就是序列号是从 0 开始,这里就是 0-7 ,将各 MC 再分别加载到一个新对象 MC 上,再由脚本控制这些新对象的状态。

  ②实例中是一个大循环里面嵌套两个小循环,大循环是 8 个 MC 循环显示,而在显示一个 MC 的循环里,有前段的透明度由 0 到 100 的以 5 递增的 20 次小循环,和后段的反向循环,显示的效果就是图片由白逐渐变清晰再由清晰变白,然后下一张图片以同样过程显示。

  小结

  本讲学习的内容是了解和应用了一维数组,这是数组使用的初步方法,在今后的学习中会掌握更加复杂的数组应用,数组的应用是广泛的,而且有简洁清晰调用方便的特点 。帧循环也是应用普遍的方法,这个实例有助于我们了解和掌握循环过程。

  课后练习

  修改源文件,使两个图片间的切换是前面的淡出,后面的淡入,中间不出现空白。

  提示:在帧循环过程中不是一个 MC 而是两 MC 同时改变状态,在最后一张图和第一张图片之间不出现空白更要专门编写帧循环语句。范例效果:

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

  补充模糊效果实例

  在第 2 帧上输入:

复制代码
代码如下:

_root["h"+i]._visible = 1;
import flash.filters.*;//载入滤镜类
mohu = new BlurFilter(n, n, 1);// 创建一个模糊滤镜对象
shuzu = new Array();//创建一个临时数组
shuzu.push(mohu);//将新元素添加到数组的结尾
_root["h"+i].filters = shuzu;//将滤镜加到MC上
//_root["h"+i].filters = [mohu];//简略写法,可去掉4-6行
_root["h"+(i+1)]._visible = 1;
_root["h"+(i+1)]._alpha = n*5;
n++;

  >点击查看动画效果<

  源文件

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

更多精彩内容其他人还在看

flash怎么制作镜像动画?

flash怎么制作镜像动画?flash中制作动画很简单,怎么才能制作一个动画的镜像呢?下面我们就来看看flash制作镜像动画的详细教程,很简单,需要的朋友可以参考下
收藏 0 赞 0 分享

flash制作图片变换的gif动画效果

这篇教程是向脚本之家的朋友分享flash制作图片变换的gif动画效果方法,教程制作出来的动画效果非常不错,难度不是很大,一起来学习吧
收藏 0 赞 0 分享

flash怎么绘制和谐号火车从火车道开过的动画?

flash怎么绘制和谐号火车从火车道开过的动画?想制作一个火车从轨道上飞奔而过的一个画面,该怎么制作呢?下面我们就来看看flash制作和谐号火车从火车道开过的动画的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

FLASH怎么制作红烛燃烧的动画?

FLASH怎么制作红烛燃烧的动画?FLASH中做动画很方便,今天我们就来看看使用flash制作蜡烛燃烧并流下烛蜡的教程,很简单,下面我们就来看看详细教程,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么填充渐变色? flash渐变填充的使用方法

flash怎么填充渐变?flash中想给图形添加渐变色,该怎么添加呢?下面我们就来看看flash渐变填充的使用方法,这是基础教程,很简单,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么制作磁铁吸钉子的动画?

flash怎么制作磁铁吸钉子的动画?我们知道钉子放到磁铁周围就会直接将钉子吸走,该怎么制作这个动画呢?下面我们就来看看flash制作磁铁吸引钉子的动画教程,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么画中国国宝大熊猫? flash绘制卡通大熊猫的教材

flash怎么画中国国宝大熊猫?flash中制作动画很简单,但是也可以简单的绘制图形,该怎么绘制呢?今天我们就来看看flash绘制卡通大熊猫的教材,需要的朋友可以参考下
收藏 0 赞 0 分享

Flash工具缩放、旋转和倾斜对象使用介绍

今天小编为大家介绍Flash工具缩放、旋转和倾斜对象使用方法,对于初学者来说,是个很好的学习教程,推荐到脚本之家,一起来看看吧
收藏 0 赞 0 分享

flash中怎么用鼠标绘制一朵木兰花?

flash中怎么用鼠标绘制一朵木兰花?flash中除了做动画效果以外,还可以绘制图形,今天我们就来看看flash用鼠标绘制一朵木兰花的详细教程,很简单,详细教程请看下文
收藏 0 赞 0 分享

FLASH制作一个小车一直往前推的动画?

FLASH制作一个小车一直往前推的动画?想做一个动画,就是有个小推车一直不断的往前进,中途不能倒,该怎么制作呢?下面我们就来看看这个动画的制作方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多