Получить щелчок мышью screenX и screenY в as3

Я хочу получить координаты экрана щелчка мыши (щелкнув за пределами окна приложения AIR)

Я попробовал следующее, но ничего не получил, похоже, что событие ScreenMouseEvent.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 :(
}   

1 ответ

ScreenMouseEvent отправляется SystemTrayIcon только (только для Windows/Linux). И SystemTrayIcon пример (DockIcon для MacO) извлекается из NativeApplication.nativeApplication.icon,
Так что это то место, куда вы должны прикрепить прослушиватель событий, указав графическую иконку в трее:

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);

Обратите внимание, что в результате screenX а также screenY свойства ScreenMouseEvent ограничены областью значков на панели задач, а не всем экраном рабочего стола (не удивительно, поскольку именно здесь вы добавили событие в первую очередь).

Другие вопросы по тегам