Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在actionscript 3.0中,即使在焦点不集中的情况下,我如何启动按钮?_Actionscript 3 - Fatal编程技术网

Actionscript 3 在actionscript 3.0中,即使在焦点不集中的情况下,我如何启动按钮?

Actionscript 3 在actionscript 3.0中,即使在焦点不集中的情况下,我如何启动按钮?,actionscript-3,Actionscript 3,我一直在用MovieClip制作一个按钮。我正在使用以下事件: this.addEventListener(MouseEvent.CLICK,OnClick); this.addEventListener(MouseEvent.ROLL_OVER,OnButtonRollOver); this.addEventListener(MouseEvent.ROLL_OUT,OnButtonRollOut); this.addEventListener(MouseEvent.MOUSE_DOWN

我一直在用MovieClip制作一个按钮。我正在使用以下事件:

 this.addEventListener(MouseEvent.CLICK,OnClick);
 this.addEventListener(MouseEvent.ROLL_OVER,OnButtonRollOver);
 this.addEventListener(MouseEvent.ROLL_OUT,OnButtonRollOut);
 this.addEventListener(MouseEvent.MOUSE_DOWN,OnMouseDown);
 this.addEventListener(MouseEvent.MOUSE_UP,OnMouseUp);
除了单击按钮和[不释放鼠标按钮]将鼠标拖出按钮焦点,然后释放鼠标按钮外,一切正常。不会调用OnMouseUp事件

我怎样才能解决这个问题? 谢谢
是。

在您的
OnMouseDown
处理程序中,您可以添加以下内容,以确保获得所需的
MouseEvent.MOUSE-UP
事件:

private function OnMouseDown(e:MouseEvent):void
{
    stage.addEventListener(MouseEvent.MOUSE_UP, onStageMouseUp);
}

private function onStageMouseUp(e:MouseEvent):void
{
    stage.removeEventListener(MouseEvent.MOUSE_UP, onStageMouseUp);
    // handle mouse up here
}

当然,这意味着您必须做一些额外的工作,以确保适当地添加/删除处理程序。如果您描述的场景发生,您可能还希望在
OnMouseDown
处理程序中缓存对目标按钮的引用,并且您仍然需要知道按下了哪个按钮(假设您的处理程序不在按钮本身的范围内)。

在鼠标按下和鼠标上升时是否需要单独的操作?你能用一个或另一个事件来回避这个问题吗?