Adobe Flex - 标签值上的MouseDown事件

时间:2010-08-06 04:29:01

标签: actionscript-3 adobe flex4 mouseevent dynamic

我只想知道如何在mousedown上动态更改标签的值。 我基本上有一个mousedown事件,我的应用程序中也有两个标签。我想要发生的是当我将鼠标移动到屏幕并将标签的值更改为鼠标指针的当前x和y坐标值时,获取鼠标指针的当前x和y位置。 / p>

protected function object_mouseDownHandler(event:MouseEvent):void
{
    curX = this.mouseX;
    curY = this.mouseY;
}

<s:Label x="278" y="60" text="{curY}"/>
<s:Label x="278" y="80" text="{prevY}"/>

以上代码是我目前所拥有的标签,它接收来自curX和curY的值。

如果有人知道如何实现这一目标,请随时与我分享一些想法。

非常感谢。 :)

编辑:

现在好了,我使用了以下代码:

protected function application1_mouseMoveHandler(event:MouseEvent):void
{
    curX = event.stageX;
    curY = event.stageY;
}

但是,这段代码的作用是记录鼠标在屏幕上移动时的坐标。我现在要做的只是在事件处于mouseDown时获取鼠标的坐标。我在想的是调用mouseDown事件并询问鼠标当前是否已关闭,如果它返回true,那么我将开始录制。但是,我似乎不知道我将如何实现这一点。请帮帮我吗?感谢。

2 个答案:

答案 0 :(得分:0)

你可能想要做的是添加一个MOUSE_DOWN事件监听器和一个MOUSE_UP事件监听器,分别添加或删除你在那里的MOUSE_MOVE / ENTER_FRAME事件,因此你知道每次事件触发鼠标按钮都会下。

答案 1 :(得分:0)

private function application_addedToStage_eventHandler():void
{
    stage.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
    stage.addEventListener(MouseEvent.MOUSE_UP, onUp);
}
private function onDown(e:Event):void
{
    stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove);
}
private function onUp(e:Event):void
{
    stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMove);
}
private function onMove(e:Event):void
{
    this.curX = event.stageX;
    this.curY = event.stageY;
}