Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 在as3中获取鼠标单击屏幕X和屏幕Y_Actionscript_Actionscript 3 - Fatal编程技术网

Actionscript 在as3中获取鼠标单击屏幕X和屏幕Y

Actionscript 在as3中获取鼠标单击屏幕X和屏幕Y,actionscript,actionscript-3,Actionscript,Actionscript 3,我想获得鼠标点击屏幕坐标(通过点击AIR应用程序窗口外部) 我尝试了以下操作,但没有得到任何结果,似乎ScreenMouseeEvent.CLICK事件未被调度 public function Main():void { if (NativeApplication.supportsSystemTrayIcon)//testExpression return true { SystemTrayIcon(NativeApplication.

我想获得鼠标点击屏幕坐标(通过点击AIR应用程序窗口外部)

我尝试了以下操作,但没有得到任何结果,似乎ScreenMouseeEvent.CLICK事件未被调度

public function Main():void 
{   
if (NativeApplication.supportsSystemTrayIcon)//testExpression return true 
    {            
         SystemTrayIcon(NativeApplication.nativeApplication.icon).
         addEventListener(ScreenMouseEvent.CLICK, click);
    }
}

private function click(e:ScreenMouseEvent):void 
{
      trace(e.screenX);//nothing displayed :(
}   

ScreenMouseEvent
仅由
SystemTrayIcon
调度(仅限Windows/Linux)。从
NativeApplication.NativeApplication.icon
检索
SystemTrayIcon
实例(
DockIcon
,适用于MacOs)。
因此,在指定托盘图标图形后,应在此处附加事件侦听器:

var sti:SystemTrayIcon = NativeApplication.nativeApplication.icon as SystemTrayIcon;
// Specifying an icon is obligatory on Windows - MacOs has a default icon
sti.bitmaps = [new IconAsset()]; // IconAsset = Embedded picture
sti.addEventListener(ScreenMouseEvent.CLICK, mouseClick);

请注意,
ScreenMouseeEvent
的结果
screenX
screenY
属性被限制在托盘中的图标区域,而不是整个桌面屏幕(这并不奇怪,因为这是您首先添加事件的地方)。

我以前从未使用过
ScreenMouseeEvent
,但它看起来只是从
SystemTrayIcon
类中调度的。你可能不得不以某种方式将你的听众加入其中。ScreenMouseEvent的文档: