2011-02-15 40 views
0

好的我有這個100%寬度/高度的Flash嵌入式,當用戶移動鼠標時,我想顯示一個面板,如果沒有更多的鼠標移動,它會在x秒後消失。Flash AS3鼠標移動事件監聽器和計時器對象

我想我需要一個addEventListener,但我不確定MOUSE_MOVE是否是正確的。 當鼠標停止移動時,我需要啓動x秒來隱藏面板,所以我想用一個計時器?

所以票價我有這樣的:

stop(); 

panel_mc.visible = false; 

var myTimer:Timer = new Timer(3000, 1); 
myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, timerHandler); 

function showPanel(e:Event):void { 
    panel_mc.visible = true; 
    myTimer.start(); 
} 
function timerHandler(e:TimerEvent):void { 
    panel_mc.visible = false; 
} 

stage.addEventListener(MouseEvent.MOUSE_MOVE, showPanel); 

它的工作原理,有點,但是當我移動鼠標爲超過3秒鐘我有面板上的小型閃存(隱藏 - 顯示)

:任何更正或更好的方式會被這樣開始之前增加一個復位理解,歡呼聲

編輯我擺脫了毛刺

myTimer.reset(); 
myTimer.start(); 
+1

如果您已經解決了問題,您應該回答自己的問題並將其關閉。 – weltraumpirat 2011-02-16 15:15:15

回答

0

沒有,鼠標移動將不利於我想......

你應該把你的計時器和檢查鼠標的位置每3秒,如果立場沒有改變,顯示它。

或者嘗試每隔100秒檢查一次,並始終保存以前的位置和上次更改的時間。

+0

請對下面的評論發表評論。沒有解釋的情況下,單擊-1就不會有禮貌,也不會有幫助。 – weltraumpirat 2011-02-16 15:13:35