【www.bbyears.com--Action】
创建一个新的 Flash 文档,并将其保存为 dynmask.fla。
将下面的 ActionScript 添加到时间轴的第 1 帧:
import mx.transitions.Tween;
import mx.transitions.easing.*;
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
target_mc._visible = false;
// 在舞台上将图像居中。
target_mc._x = (Stage.width - target_mc._width) / 2;
target_mc._y = (Stage.height - target_mc._height) / 2;
var maskClip:MovieClip = target_mc.createEmptyMovieClip("mask_mc", 20);
with (maskClip) {
// 绘制与加载的图像大小相同的遮罩。
beginFill(0xFF00FF, 100);
moveTo(0, 0);
lineTo(target_mc._width, 0);
lineTo(target_mc._width, target_mc._height);
lineTo(0, target_mc._height);
lineTo(0, 0);
endFill();
}
target_mc.setMask(maskClip);
target_mc._visible = true;
var mask_tween:Tween = new Tween(maskClip, "_yscale", Strong.easeOut, 0, 100, 2, true);
};
this.createEmptyMovieClip("img_mc", 10);
var img_mcl:MovieClipLoader = new MovieClipLoader();
img_mcl.addListener(mclListener);
img_mcl.loadClip("/images/image1.jpg", img_mc);
此代码示例导入 Tween 类和 easing 包中的每个类。然后,它创建作为 MovieClipLoader 实例的侦听器对象的对象,该实例将在后面部分的代码中创建。侦听器对象定义一个事件侦听器 onLoadInit,它使动态加载的 JPEG 图像在舞台上居中。代码重新定位图像后,将在 target_mc 影片剪辑(其中包含动态加载的 JPEG 图像)中创建新的影片剪辑实例。绘图 API 代码将在这一新的影片剪辑中绘制一个尺寸与 JPEG 图像相同的矩形。新的影片剪辑通过调用 MovieClip.setMask() 方法来遮罩 JPEG 图像。绘制并设置遮罩后,遮罩将使用 Tween 类添加动画效果,从而使图像慢慢显露出来。
保存 Flash 文档,然后选择"控制">"测试影片"对该 SWF 文件进行测试。