使用绘制方法绘制直线、曲线和形状

可以使用 Flash Drawing API 在运行时在舞台上动态创建形状。可以使用这些形状来动态遮罩内容,对其应用滤镜,或者在舞台上为其实现动画效果。还可以使用 Drawing API 创建各种绘画工具,从而允许用户使用鼠标或键盘在 SWF 文件中绘制形状。

绘制直线:

  1. 创建一个新的 Flash 文档,并将它保存为 line.fla
  2. 将下面的 ActionScript 添加到时间轴中的第 1 帧:
    this.createEmptyMovieClip("line_mc", 10);
    line_mc.lineStyle(1, 0x000000, 100);
    line_mc.moveTo(0, 0);
    line_mc.lineTo(200, 100);
    line_mc._x = 100;
    line_mc._y = 100;
    

    此代码在舞台上的 0,0 与 200,100 之间绘制一条直线。该直线的 _x_y 坐标随后将进行修改,以将直线重新定位在舞台上的 100,100。

  3. 保存 Flash 文档,然后选择"控制">"测试影片"对该 SWF 文件进行测试。

若要绘制更复杂的形状,请继续调用 MovieClip.lineTo() 方法来绘制矩形、方形或椭圆,如以下过程所示。

绘制曲线:

  1. 创建一个新的 Flash 文档,并将它保存为 curve.fla
  2. 将下面的 ActionScript 添加到时间轴中的第 1 帧:
    this.createEmptyMovieClip("circle_mc", 1);
    with (circle_mc) {
        lineStyle(4, 0x000000, 100);
        beginFill(0xFF0000);
        moveTo(200, 300);
        curveTo(300, 300, 300, 200);
        curveTo(300, 100, 200, 100);
        curveTo(100, 100, 100, 200);
        curveTo(100, 300, 200, 300);
        endFill();
    }
    
  3. 保存 Flash 文档,然后选择"控制">"测试影片"对该 Flash 文档进行测试。

    此代码使用 Drawing API 在舞台上绘制一个圆形。该圆形只调用 MovieClip.curveTo() 方法四次,因此看上去可能有些扭曲。有关使用 Drawing API 创建圆形的另一个示例,请参见绘制特定形状下的创建圆形的过程,其中的代码对 MovieClip.curveTo() 方法进行了八次调用,以绘制更逼真的圆形。

绘制三角形:

  1. 创建一个新的 Flash 文档,并将它保存为 triangle.fla
  2. 将下面的 ActionScript 添加到时间轴中的第 1 帧:
    this.createEmptyMovieClip("triangle_mc", 1);
    

    此代码使用 MovieClip.createEmptyMovieClip() 方法在舞台上创建一个空的影片剪辑。新的影片剪辑是现有影片剪辑(在此例中为主时间轴)的子级。

  3. 将下面的 ActionScript 添加到时间轴中的第 1 帧上,位于在上一步骤中添加的代码之后:
    with (triangle_mc) {
        lineStyle(5, 0xFF00FF, 100);
        moveTo(200, 200);
        lineTo(300, 300);
        lineTo(100, 300);
        lineTo(200, 200);
    }
    

    在此代码中,空的影片剪辑 (triangle_mc) 将调用绘画方法。此代码使用 5 像素紫色线绘制三角形,并且不进行填充。

  4. 保存 Flash 文档,然后选择"控制">"测试影片"对该 Flash 文档进行测试。

有关这些方法的详细信息,请参见"ActionScript 2.0 语言参考"中 MovieClip 中的相应条目。

在硬盘上的 Samples 文件夹中可以找到范例源文件 drawingapi.fla,该文件演示了如何在 Flash 应用程序中使用 Drawing API。