【问题标题】:AS3 MouseEvent.RIGHT_MOUSE_UP doesn't workAS3 MouseEvent.RIGHT_MOUSE_UP 不起作用
【发布时间】:2012-08-23 22:05:34
【问题描述】:

我正在尝试创建一个布尔值,用于检查鼠标右键是否被按下。用鼠标左键这个方法有效,但是用鼠标右键布尔值保持为真,我该如何解决这个问题?

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!也许我可以用 RIGHT_CLICK 试试?

【问题讨论】:

  • 如果在鼠标处理程序中跟踪(e.type)会发生什么?
  • 那么它只追踪rightMouseDown
  • 对我来说工作正常,也许尝试重新安装您正在使用的任何 IDE?

标签: actionscript-3 right-click flash-cs6


【解决方案1】:

这似乎是播放器版本问题。右键单击编译,但在 11.2 运行时静默失败。它在 11.4 中编译并运行良好。我在 Flash CS6 中进行了测试,我的播放器版本是 WIN 11,2,202,228,并且得到了与您报告的完全相同的静默失败。

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

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

【讨论】:

  • 嗯,我有 Flash CS6,我正在尝试更新它,但它不起作用,所以我想我会安装 FlashBuilder。
  • 如果您知道如何升级 CS6 使用的播放器,也许可以在这里发帖。我没办法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-18
  • 1970-01-01
  • 1970-01-01
  • 2011-02-05
  • 2016-04-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多