学习 Flash 中的 ActionScript 2.0 |
|
|
|
| 动画、滤镜和绘画 > 使用 ActionScript 绘画 > 使用 Drawing API 方法和实现脚本动画 | |||
可以将 Drawing API 与 Tween 和 TransitionManager 类结合使用以创建一些出色的动画结果,并且只需编写少量 ActionScript。
下面的过程加载 JPEG 图像并动态遮罩图像,以便在加载图像后通过补间图像遮罩慢慢揭开图像。
为动态遮罩添加动画效果:
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:Object = 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("http://www.helpexamples.com/flash/images/image1.jpg", img_mc);
此代码示例导入 Tween 类和 easing 包中的每个类。然后,它创建作为 MovieClipLoader 实例的侦听器对象的对象,该实例将在后面部分的代码中创建。侦听器对象定义一个事件侦听器 onLoadInit,它使动态加载的 JPEG 图像在舞台上居中。代码重新定位图像后,将在 target_mc 影片剪辑(其中包含动态加载的 JPEG 图像)中创建新的影片剪辑实例。Drawing API 代码将在这一新的影片剪辑中绘制一个尺寸与 JPEG 图像相同的矩形。新的影片剪辑通过调用 MovieClip.setMask() 方法来遮罩 JPEG 图像。绘制并设置遮罩后,遮罩将使用 Tween 类添加动画效果,从而使图像慢慢显露出来。
|
注意 |
若要为前面示例中的 |
在硬盘上的 Samples 文件夹中可以找到范例源文件 drawingapi.fla,该文件演示了如何在 Flash 应用程序中使用 Drawing API。
|
|
|
|