我只是將這個超級簡單的代碼示例扔進Flash CS4 IDE框架腳本中,但它不會在控制檯中輸出任何內容。我只是將鼠標放在窗口上,不點擊任何東西,也沒有任何事情發生。爲什麼不按照我的預期工作?Event.MOUSE_LEAVE不能在AS3中工作
stage.addEventListener(Event.MOUSE_LEAVE, traceMouse);
function traceMouse(Evt:Event):void
{
trace("Mouse Left Stage");
}
________________________________________________
[編輯]我發現Event.MOUSE_LEAVE難以置信沒用。首先,它在測試環境中不起作用(至少在Mac OS X上爲Flash CS4)。第二,它不火,如果是的MouseEvent.MOUSE_DOWN當前活動:
Flash CS4 Professional中的ActionScript 3.0語言參考:
更新09年8月11日:新增資格 不觸發該事件時,按鈕按下了 。 1
在我的特定情況下,我想MOUSE_LEAVE到,而我,這樣的情況下,用戶拖動他/她的鼠標指針從舞臺這將觸發調用stopDrag()拖着一個對象觸發。因爲這是不可能的,我決定在實際對象上使用MOUSE_OUT,而不是在對象的父級或舞臺上使用MOUSE_LEAVE。
private function mouseDownHandler(evt:MouseEvent):void
{
object.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
object.startDrag(false, pullBounds);
}
private function mouseUpHandler(evt:MouseEvent):void
{
object.removeEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
object.stopDrag();
}
private function mouseOutHandler(evt:MouseEvent):void
{
object.stopDrag();
}
它的工作原理在Flash CS4 IDE對我來說(Win XP的),但事實上,同時按下鼠標的它不工作使它完全沒用,Adobe現在真的很煩人,順便說一句,你在哪找到這個註釋?這個鏈接doe沒有工作。 – 2011-04-12 16:57:33
它是在flash 10.1的flash.display.Stage.mouseLeave的10.0文檔中編寫的,但它們似乎有刪除它 – TheDarkIn1978 2011-04-13 02:42:17