Actionscript 3 如何在鼠标移动事件中确定鼠标右键是否按下?
对于Actionscript 3 如何在鼠标移动事件中确定鼠标右键是否按下?,actionscript-3,flash,Actionscript 3,Flash,对于MOUSE\u MOVE事件,有一个buttonDown属性来指示鼠标左键当前是否已按下。但是,如何确定右键是否已按下?没有,但您可以通过在“鼠标右键按下”和“鼠标右键上升”之间设置一个标志来完成此操作。如果您以高优先级侦听捕获,它将在所有其他鼠标事件中可用 在文档类或主时间线框架1中,添加以下代码: var isRightMouseDown:Boolean = false; stage.addEventListener(MouseEvent.RIGHT_MOUSE_DOWN, globa
MOUSE\u MOVE
事件,有一个buttonDown
属性来指示鼠标左键当前是否已按下。但是,如何确定右键是否已按下?没有,但您可以通过在“鼠标右键按下”和“鼠标右键上升”之间设置一个标志来完成此操作。如果您以高优先级侦听捕获,它将在所有其他鼠标事件中可用
在文档类或主时间线框架1中,添加以下代码:
var isRightMouseDown:Boolean = false;
stage.addEventListener(MouseEvent.RIGHT_MOUSE_DOWN, globalMouseDown,true,int.MAX_VALUE)
function globalMouseDown(e:MouseEvent):void {
isRightMouseDown = true;
}
stage.addEventListener(MouseEvent.RIGHT_MOUSE_UP,globalMouseUp,true,int.MAX_VALUE)
function globalMouseUp(e:MouseEvent):void {
isRightMouseUp = false;
}
现在您有了一个可以在鼠标移动侦听器中访问的变量。如果使用时间线代码,请通过执行MovieClip(root).isRightMouseDown
在主时间线之外访问它。如果使用文档类,请将其定义为staticpublic static var isRightMouseDown:Boolean
,并从应用程序中的任何位置访问它:MyMainClassName.isRightMouseDown
。(将MyMainClassName替换为您所调用的文档类)
添加上述侦听器时,将第三个参数设置为true
,第四个参数设置为int.MAX\u VALUE
,将确保在应用程序中侦听同一事件之前处理此侦听器
有关事件如何工作及其阶段的更多信息,请参见:
您将鼠标右键从Flash窗口中拿出来,然后将鼠标移到Flash窗口中,怎么样?在这种情况下,您无能为力(最初的鼠标右键向下移动发生在有焦点的Flash之外)-至少据我所知。