如何使绘图功能仅在应用程序的一个页面/屏幕上起作用?例如,绘图功能应该只发生在第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);
}
答案 0 :(得分:0)
要在stage
中绘制内容,您已为MouseEvent
添加了一些stage
个侦听器,因此要停止绘制,您只需删除这些侦听器并清除{{1}对象,如果你当然需要,像这样:
Graphics
希望可以提供帮助。
答案 1 :(得分:0)
Flash没有页面概念。无论您决定什么,“页面”都将与清除绘图所需的位置相同。例如,如果您使用的是类似页面的框架,那么当您更改框架(gotoAndStop()
等)时,您应该清除图形。
要清除图形,您可以移除Line
对象(使用removeChild()
或时间轴上的关键帧),也可以使用Line.graphics.clear()
。