Получить щелчок мышью 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
ограничены областью значков на панели задач, а не всем экраном рабочего стола (не удивительно, поскольку именно здесь вы добавили событие в первую очередь).