我只是将这个超级简单的代码示例扔进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