2012-06-09 56 views
0

我加入了這個簡單的事件監聽:的addEventListener不是我的AS3代碼工作AS3

addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); 

沒有任何錯誤或其他任何東西,但是當我跟蹤的東西在我的mouseMoveHandler它不出口的東西我的控制檯

protected function mouseMoveHandler(event:MouseEvent):void 
     { 
      trace("mouseMoved") 
     } 

首先,我想這個問題不應該這麼難,我懷疑這事做與階段(的addEventListener是不是在它的頂部)。當我搜索它時,我發現了一些冒泡的東西,但這隻適用於發送事件或?預先感謝您的幫助!

+0

理想情況下,這應該工作。您需要發佈更多代碼才能找出真正的問題。 – catholicon

+0

是的,我也考慮過這個,但是代碼可能有點混亂,我也得複製3節課來理解爲什麼我認爲可能會有一些普遍的問題呢? – Babsi

+0

嗯...檢查一下,如果這是在displayList(它是parent.parent ....會導致階段)的instannce? ...你可以跟蹤舞臺屬性來驗證它,而不需要通過代碼 – catholicon

回答

1

舞臺本身不派遣mouseMove - 實際上我不知道它。你很少直接與舞臺合作。儘管如預期的那樣,它可以成爲一名兒童。

package 
{ 
    import flash.display.Sprite; 
    import flash.events.MouseEvent; 

    public class TheMouse extends Sprite 
    { 
    public function TheMouse() 
    { 
     addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); 

     const background:Sprite = new Sprite(); 
     background.graphics.beginFill(0); 
     background.graphics.drawRect(0, 0, 100, 100); 
     background.graphics.endFill(); 
     addChild(background); 
    } 

    private function mouseMoveHandler(event:MouseEvent):void 
    { 
     trace('mouseMoveHandler'); 
    } 
    } 
} 
+0

感謝您的及時答案,通常我的MousMove也可以正常工作,但這次不是,我真的不知道爲什麼,所以如果它是不是關於舞臺,你有什麼想法還有什麼問題? – Babsi

+0

當沒有任何東西可以移動光標時,就不可能檢測到鼠標。只需在舞臺上畫一些東西。 –