2010-08-06 46 views
0

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

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,那么我将开始记录。但是,我似乎并不知道我会如何实现这一点。请帮助我的人吗?谢谢。

回答

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; 
} 
0

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