2012-11-27 120 views
3

我的目標是:當您將鼠標放在播放的剪輯上,然後停留在最後一幀,直到鼠標移開,然後剪輯應該返回到第一幀。MOUSE_OUT操作不起作用?

到目前爲止,此代碼的作用是,當您將鼠標放在上面時,剪輯會啓動,然後在最後一幀停止。

我也希望它即使在剪輯到達最終幀之前關閉鼠標,它仍然會返回到第一幀。

stop(); 

stage.addEventListener(MouseEvent.MOUSE_OVER, playMovie); function playMovie(event) { play(); } 
stage.addEventListener(MouseEvent.MOUSE_OUT, stopMovie); function stopMovie(event) { stop(); } 

stop(); 
+1

您確定要在舞臺上使用事件監聽器嗎?在這種情況下,我不知道'MOUSE_OUT'是否會觸發,因爲鼠標在技術上不能離開舞臺(它只能離開應用程序本身,但我不記得這是否算離開舞臺)。您也可以嘗試刪除其處理程序中的MOUSE_OVER偵聽器,並在MOUSE_OUT處理程序中重新添加 –

+0

通過在舞臺上偵聽,swf中的所有對象(允許鼠標交互)將在鼠標移過時觸發這些偵聽器/關掉它們。 – BadFeelingAboutThis

回答

1

而是在你stopMovie功能使用stop(),使用gotoAndStop(1)這個復位到第一幀。

如果您希望在鼠標完全離開SWF時發生這種情況,您可能希望使用Event.MOUSE_LEAVE而不是鼠標移出。

+0

非常感謝您的幫助!仍然有一個小問題。當鼠標結束時,它仍然會重新開始運行。我希望它留在最後一幀。任何想法? – maxmitch

+1

在你的時間軸上,在最後一幀添加一個「stop()」 – BadFeelingAboutThis

+0

你好!謝謝。 你可以快速瀏覽一下這個http://stackoverflow.com/questions/13592705/how-to-apply-action-to-mulitple-flash-layers – maxmitch