我刚刚更新了Flash Player 11.2,它允许监听MouseEvent.RIGHT_MOUSE_UP和MouseEvent.RIGHT_MOUSE_DOWN。Flash右键点击的方式与左击不同
我遇到了一个问题,这些事件的行为与其MOUSE_UP/MOUSE_DOWN对应行为不一样。具体而言,无论鼠标位于何处,都会启动MOUSE_UP事件。这允许在Flash窗口外面拖动,并且每当用户点击Flash播放器时仍然具有完整的向下 - >向上事件循环。
但是,对于RIGHT_MOUSE_UP/DOWN,这似乎不是这种情况。当我在播放器内右键单击并释放到播放器外部时,我没有收到RIGHT_MOUSE_UP事件,这意味着可能会收到多个RIGHT_MOUSE_DOWN事件而没有收到UP事件。
有没有已知的解决方法,或者是否有我必须设置的选项?
编辑:
这里是一个代码示例:
stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
stage.addeventListener(MouseEvent.RIGHT_MOUSE_UP, onRightMouseUp);
stage.addeventListener(MouseEvent.RIGHT_MOUSE_DOWN, onRightMouseDown);
//...
//all callback function follow a similar format as :
private function onMouseUp(e : MouseEvent) : void
{
leftClick_ = false;//signaling that leftClick is not pressed
}
您确定已将'RIGHT_MOUSE_UP'侦听器附加到'Stage',因为这非常重要。 – xLite 2012-04-29 11:49:11
你可以发布一个片段吗? – Chris 2012-04-29 11:54:37
添加了一个显示我的代码如何工作的编辑。事件听众的确加入了舞台。 – Godfather 2012-04-29 17:46:23