绘图功能,但仅限于某个屏幕/页面(actionscript3)

时间:2015-01-26 14:12:56

标签: actionscript-3 flash actionscript drawing

如何使绘图功能仅在应用程序的一个页面/屏幕上起作用?例如,绘图功能应该只发生在第15页。我应该怎样做才能使“绘图”/绘图功能在进入其他页面时不会卡在屏幕上? (我正在尝试做原型)谢谢。

以下是我正在使用的绘图功能代码:

var Line:Sprite = new Sprite();
addChild(Line);
Line.graphics.lineStyle(3, 0x000000, 1 );

stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown1);
addEventListener(MouseEvent.MOUSE_UP, mouseUp1);

function mouseDown1(e:MouseEvent):void {
    Line.graphics.moveTo(e.stageX, e.stageY);
    stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove1);
}

function mouseMove1(e:MouseEvent):void {
    Line.graphics.lineTo(e.stageX, e.stageY);
}

function mouseUp1(e:MouseEvent):void {
    stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMove1);
}

2 个答案:

答案 0 :(得分:0)

要在stage中绘制内容,您已为MouseEvent添加了一些stage个侦听器,因此要停止绘制,您只需删除这些侦听器并清除{{1}对象,如果你当然需要,像这样:

Graphics

希望可以提供帮助。

答案 1 :(得分:0)

Flash没有页面概念。无论您决定什么,“页面”都将与清除绘图所需的位置相同。例如,如果您使用的是类似页面的框架,那么当您更改框架(gotoAndStop()等)时,您应该清除图形。

要清除图形,您可以移除Line对象(使用removeChild()或时间轴上的关键帧),也可以使用Line.graphics.clear()