0

我有一个油漆应用程序。我想放一个图层(带有正方形的电影剪辑),我想在它上面画画。到目前为止,我无法绘画,但是当我尝试添加影片剪辑子时,我无法绘制该影片剪辑。制作这样的东西的方法是什么?这是我的代码:

import flash.display.Sprite;

var myThick=10;
var currentColor = 0X000000;
var myCanvas:Sprite;

init();

function init():void {
    drawCanvas();
    var clearSwatch:Sprite = new Sprite();
    clearSwatch.graphics.beginFill(0xFFFFFF);
    clearSwatch.graphics.lineStyle(2, 0x000000);
    clearSwatch.graphics.drawCircle(30, 370, 20);
    clearSwatch.graphics.endFill();
    addChild(clearSwatch);
    clearSwatch.buttonMode = true;
    clearSwatch.addEventListener(MouseEvent.CLICK, clearCanvas);//clear
    }

function drawCanvas():void {
    myCanvas = new Sprite();
    myCanvas.graphics.beginFill(0xF0F0F0);
    myCanvas.graphics.drawRect(60, 20, stage.stageWidth-80, stage.stageHeight+40);
    myCanvas.graphics.endFill();
    myCanvas.graphics.lineStyle(myThick, currentColor);
    addChild(myCanvas);
    myCanvas.addEventListener(MouseEvent.MOUSE_DOWN, startDraw);
  //stage.addEventListener(MouseEvent.MOUSE_UP, stopDraw);
    myCanvas.buttonMode = true;
}

function startDraw(event:MouseEvent):void {
    myCanvas.graphics.moveTo(event.localX, event.localY);
    myCanvas.addEventListener(MouseEvent.MOUSE_MOVE, paintLine);
}

function stopDraw(event:MouseEvent):void {
    myCanvas.removeEventListener(MouseEvent.MOUSE_MOVE, paintLine);
}

function paintLine(event:MouseEvent):void {
    myCanvas.graphics.lineTo(event.localX, event.localY);
    event.updateAfterEvent();
}
function clearCanvas(event:MouseEvent):void {
    myCanvas.graphics.clear();
    drawCanvas();
}

我怎样才能让它工作?谢谢你!

4

1 回答 1

1

将两个侦听器与鼠标移动侦听器一起添加到舞台,但在myCanvas.

stage.addEventListener(MouseEvent.MOUSE_DOWN, startDraw);
function startDraw(event:MouseEvent):void {
    myCanvas.graphics.moveTo(event.localX, event.localY);
    myCanvas.addEventListener(MouseEvent.MOUSE_MOVE, paintLine);
}

等等。

于 2013-10-29T11:06:36.843 回答