执行操作时禁用鼠标事件(单击)

时间:2012-04-10 01:52:17

标签: actionscript-3 flash flash-cs5

我目前正在设计一个应用程序,当按下按钮时,它会展开以显示更多信息。我面临的一个主要问题是,如果在收缩时按下按钮以使其再次展开,则协调点将从点击时保存,这意味着它将永远不会返回其原始状态。

我需要一种方法来禁用鼠标单击按钮,同时TweenMax正在执行其收缩按钮的工作,或者从数组中提取坐标。

我已经设法从我的菜单类中获取坐标数组到主类中,但是无法找到最好的方法来阻止问题的发生。

-

expand = false;
(run menu function)
item.addEventListener(MouseEvent.CLICK, boxExCo);

private function boxExCo(e:MouseEvent):void
{
    if (!expand)
    {
        selectedBox = e.target as Box;
        boxX = selectedBox.x;
        boxY = selectedBox.y;
        expand = true;
        TweenMax.to.... (expand)
    }
    else
    {
        expand = false;
        TweenMax.to... (contract to coordinates)
    }
}

1 个答案:

答案 0 :(得分:2)

当您不再希望事件能够触发时,您需要使用item.removeEventListener(MouseEvent.CLICK, boxExCo);,然后使用

重新添加它

item.addEventListener(MouseEvent.CLICK, boxExCo);当您希望事件能够再次触发时。

启动补间最大值后,删除该事件。

完成后,重新添加事件。