创建一个新的 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 文件进行测试。
时间: 2024-10-31 23:20:12