我试图这样做:
panel.addEventListener(MouseEvent.DOUBLE_CLICK,showEditPopup);
但它不工作。
它适用于
panel.addEventListener(MouseEvent.CLICK,showEditPopup);
所以,我想我必须先启用双击。需要帮助。
我试图这样做:
panel.addEventListener(MouseEvent.DOUBLE_CLICK,showEditPopup);
但它不工作。
它适用于
panel.addEventListener(MouseEvent.CLICK,showEditPopup);
所以,我想我必须先启用双击。需要帮助。
在执行此操作之前,您必须为您的面板启用双击:
panel.doubleClickEnabled=true;
然后你可以这样做:
panel.addEventListener(MouseEvent.DOUBLE_CLICK,showEditPopup);
今天早上我遇到了这个问题,试图在我的游戏中添加双击。这是我发现的。
首先,您必须像这样启用双击:
panel.addEventListener(MouseEvent.DOUBLE_CLICK,showEditPopup);
您还可以在同一功能上添加单 CLICK 以防止双击时单击发生两次,如下所示:
panel.addEventListener(MouseEvent.CLICK,showEditPopup);
那么这就是函数,一次只与 1 个交互:
function showEditPopup(e:MouseEvent) {
if (e.type == "click") {
//single click
} else if (e.type == "doubleClick") {
//double click
}
}
现在出现了2个问题。首先,您必须在侦听器之前启用像这样的双击:
panel.enableDoubleClick = true;
更糟糕的是,如果显示对象绑定到另一个显示对象,它有一个鼠标事件,你必须为孩子禁用这些事件,以便双击工作。像这样:
panel.mouseChildren = false;
这对我来说很糟糕,因为这就是我正在做的事情。用技能创建了一张卡片,技能有 mouseevent.move_over 来显示一个工具提示。但后来我想双击卡片将其放置/从牌组中移除。但它不起作用,因为附加到该影片剪辑的技能中有鼠标事件。所以我不得不禁用它们并找到另一种方法来做到这一点。因为在 mousechildren 设置为 false 的情况下工具提示没有显示,我别无选择让它绕过这些事件。
这就是为什么计时器解决方案确实是一个更好的主意的原因。双击的等待时间最多可以增加 1 秒。它不会影响人,甚至适合最慢的家伙;)