Actionscript 3 动作脚本3在电影剪辑前画画?

Actionscript 3 动作脚本3在电影剪辑前画画?,actionscript-3,flash,drawing,Actionscript 3,Flash,Drawing,我是新的flash和动作脚本。 问题就在这里。 我创建了一个简单的应用程序。只在舞台上增加了两个项目。电影剪辑对象和按钮对象。电影剪辑对象的鼠标事件侦听器设置为在其上绘制。但是当我画的时候,线是在电影剪辑对象后面画的(在舞台上),我想在对象上画它。 这是我的密码 var write: Boolean; write = false; board.addEventListener(MouseEvent.MOUSE_DOWN, startWriting); board.addEventListene

我是新的flash和动作脚本。 问题就在这里。 我创建了一个简单的应用程序。只在舞台上增加了两个项目。电影剪辑对象和按钮对象。电影剪辑对象的鼠标事件侦听器设置为在其上绘制。但是当我画的时候,线是在电影剪辑对象后面画的(在舞台上),我想在对象上画它。 这是我的密码

var write: Boolean;

write = false;
board.addEventListener(MouseEvent.MOUSE_DOWN, startWriting);
board.addEventListener(MouseEvent.MOUSE_MOVE, continueWriting);
board.addEventListener(MouseEvent.MOUSE_UP, stopWriting);
board.addEventListener(MouseEvent.MOUSE_OUT, stopWriting);
btnHide.addEventListener(MouseEvent.MOUSE_DOWN, hideBoard);

var g:Graphics = graphics;
g.lineStyle(1, 0x0000ff);   

function startWriting(e:MouseEvent):void {
    g.moveTo(mouseX, mouseY);
    write = true;
}

function continueWriting(e:MouseEvent):void {
    if(write) {
        g.lineTo(mouseX, mouseY);
    }
}

function stopWriting(e:MouseEvent):void {
    write = false;
}

function hideBoard(e:MouseEvent):void {
    if (board.visible){
        board.visible = false;
    }
    else {
        board.visible = true;
    }
}

所以问题是如何在电影剪辑对象上绘制每个电影剪辑都有自己的图形属性。添加的内容始终位于当前movieclip图形的前面

解决方案是添加一个形状作为MovieClip的子对象:

var shape : Shape = new Shape;
addChild( shape );
var g:Graphics = shape .graphics;
g.lineStyle(1, 0x0000ff);   

function startWriting(e:MouseEvent):void {
    g.moveTo(mouseX, mouseY);
    write = true;
}

function continueWriting(e:MouseEvent):void {
    if(write) {
        g.lineTo(mouseX, mouseY);
    }
}