2010-08-06 18 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事件,因此你知道每當事件觸發鼠標按鈕時下來。