注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

清风的博客

我为人人,人人为我。

 
 
 

日志

 
 

AS 图片闪白切换  

2014-01-09 02:01:44|  分类: 【flash教程】 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

        “闪白”换场是电视拍摄用语,是画面切换过程中场景出现空白。

  基本思路

  ① 构建一个数组放置库中的多个类型为 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 帧上输入:

for (i=1; i<=9; i++) {
 _root.attachMovie("a"+i, "h"+i, i);
 with (_root["h"+i]) {
  _x = 250;
  _y = 90;
  _visible = false;
 }
}
i = 1;
n = 0;
_root["h"+1]._visible = 1;
② 在第 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++;
③ 在第 3 帧上输入:

if (n<21) {
 gotoAndPlay(2);
} else {
 play();
 i++;
 n = 0;
}
④ 在第 8 帧上输入:

gotoAndPlay(2);
if (i>8) {
 gotoAndPlay(1);
}
第4、5、6、7帧为空。

 >点击查看动画效果<
  要点分析

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

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

  模糊效果实例

  第 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++;

 >点击查看动画效果<

  评论这张
 
阅读(33)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017