Actionscript 3 AS3 MouseEvent.RIGHT_MOUSE_UP不';行不通

Actionscript 3 AS3 MouseEvent.RIGHT_MOUSE_UP不';行不通,actionscript-3,right-click,flash-cs6,Actionscript 3,Right Click,Flash Cs6,我试图创建一个布尔值,它检查是否按下了鼠标右键。使用鼠标左键,此方法有效,但使用鼠标右键,布尔值保持为真,如何解决此问题 public var mDown:Boolean = false; public var rmDown:Boolean = false; stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseHandler); stage.addEventListener(MouseEvent.MOUSE_UP, mouseHandler);

我试图创建一个布尔值,它检查是否按下了鼠标右键。使用鼠标左键,此方法有效,但使用鼠标右键,布尔值保持为真,如何解决此问题

public var mDown:Boolean = false;
public var rmDown:Boolean = false;

stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseHandler);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseHandler);
stage.addEventListener(MouseEvent.RIGHT_MOUSE_DOWN, mouseHandler);
stage.addEventListener(MouseEvent.RIGHT_MOUSE_UP, mouseHandler);

private function mouseHandler(e:MouseEvent){
    switch(e.type){
        case MouseEvent.MOUSE_DOWN: mDown = true;
        break;
        case MouseEvent.MOUSE_UP: mDown = false;
        break;
        case MouseEvent.RIGHT_MOUSE_DOWN: rmDown = true;
        break;
        case MouseEvent.RIGHT_MOUSE_UP: rmDown = false;
    }
}

我的Flash导出到Flash Player 11.2!也许我可以用右键点击试试?

这似乎是播放器版本的问题。在11.2中,右击向上编译,但在运行时以静默方式失败。它在11.4中编译并运行良好。我在Flash CS6中进行了测试,我的播放器版本是WIN 11,2202228,得到了与您报告的完全相同的无声故障

然后,我在FlashDevelop中进行了测试(将鼠标右键枚举替换为“rightMouseDown”和“rightMouseUp”,因为在我的版本上完成时无法识别新的枚举事件值),并使用投影仪调试器版本WIN 11,4402265进行了测试,上下鼠标右键都工作正常。它在最新的插件和活动X播放器生产版本(11.4.*版)中也能正常工作,在Win7机器上,可以跨越IE、Firefox和Chrome


我不确定您使用的是什么开发环境,如果是Flash Pro CS*的话,我也不确定如何升级播放器版本,但是使用FlashBuilder或FlashDevelop应该很简单。我相信您已经知道,可以使用
flash.system.Capabilities.version
仔细检查您正在测试的播放器版本。当我的系统中的.swf文件关联通常与11.4调试器关联时,我惊讶地发现CS6仍在使用11.2。

如果在鼠标手柄中跟踪(e.type)会发生什么情况?然后它只跟踪
rightMouseDown
在我这方面工作正常,也许可以尝试重新安装您正在使用的任何IDE?我有Flash CS6,我正在尝试更新它,但这不起作用,所以我想我会安装FlashBuilder。如果你知道如何升级CS6使用的播放器,也许可以在这里发帖。我没能做到。