【问题标题】:Adobe Flex - MouseDown Event On Label ValuesAdobe Flex - 标签值上的 MouseDown 事件
【发布时间】:2010-08-06 04:29:01
【问题描述】:

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

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,那么我将开始录制。但是,我似乎不太清楚我将如何实现这一点。请帮助我吗?谢谢。

【问题讨论】:

    标签: actionscript-3 adobe flex4 mouseevent dynamic


    【解决方案1】:
    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;
    }
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2010-09-05
        • 1970-01-01
        • 2011-07-11
        • 2011-03-12
        • 2023-04-04
        • 2011-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多