创建简单的线条绘制工具

您可以使用 MovieClip 类的方法在 SWF 文件播放时在舞台上绘制线条和填充。这样您就可以为用户创建绘图工具,并且可以在 SWF 文件中绘制响应事件的形状。绘图方法包括 beginFill()beginGradientFill()clear()curveTo()endFill()lineTo()lineStyle()moveTo()

可以将这些方法应用于任何影片剪辑实例(例如 myClip.lineTo()),也可应用于某一级别 (_level0.curveTo())。

lineTo()curveTo() 方法分别用于绘制线条和曲线。您可以使用 lineStyle() 方法指定线条或曲线的线条颜色、粗细和 alpha 设置。moveTo() 绘图方法将当前绘图位置设置为指定的 xy 舞台坐标。

beginFill()beginGradientFill() 方法分别用纯色填充或渐变填充来填充闭合路径,endFill() 将在最后的调用中指定的填充应用于 beginFill()beginGradientFill()clear() 方法擦除已在指定的影片剪辑对象中绘制的内容。

创建简单线条绘制工具:

  1. 在一个新文档中,在舞台上创建一个按钮,然后在属性检查器中输入 clear_btn 作为其实例名称。
  2. 在时间轴中选择第 1 帧。
  3. 选择"窗口">"动作",打开"动作"面板(如果尚未打开)。
  4. 在"动作"面板中输入以下代码:
    this.createEmptyMovieClip("canvas_mc", 999);
    var isDrawing:Boolean = false;
    //
    clear_btn.onRelease = function() {
        canvas_mc.clear();
    };
    //
    var mouseListener:Object = new Object();
    mouseListener.onMouseDown = function() {
        canvas_mc.lineStyle(5, 0xFF0000, 100);
        canvas_mc.moveTo(_xmouse, _ymouse);
        isDrawing = true;
    };
    mouseListener.onMouseMove = function() {
        if (isDrawing) {
            canvas_mc.lineTo(_xmouse, _ymouse);
            updateAfterEvent();
        }
    };
    mouseListener.onMouseUp = function() {
        isDrawing = false;
    };
    Mouse.addListener(mouseListener);
    
  5. 选择"控制">"测试影片"对该文档进行测试。
  6. 拖动指针在舞台上绘制线条。
  7. 单击该按钮可以擦除所绘制的内容。