Специальные кнопки мыши в Flex - PullRequest
1 голос
/ 21 мая 2010

Как работать с определенными кнопками мыши, такими как xbutton1 и xbuton2?

Ответы [ 3 ]

1 голос
/ 21 мая 2010

Вы можете получить доступ только к левой (или основной) кнопке мыши во Flash. Вы можете создавать пользовательские контекстные меню, хотя к ним можно получить щелчок правой кнопкой мыши.

Только что увидел, что вы выбрали тег AIR, поэтому я полагаю, что вы нацелены на AIR. Тогда вы сможете получить доступ ко всем кнопкам мыши. См. flash.events.MouseEvent для получения подробной информации о доступных событиях.

Чтобы добавить прослушиватель событий MouseEvents в DisplayObject, просто сделайте что-то вроде этого:

displayObject.addEventListener( MouseEvent:MOUSE_DOWN, myMouseDownHandler );

Где myMouseDownHandler - это функция обработчика событий, подобная этой:

function myMouseDownHandler ( event:MouseEvent )
{
    // do something
}

редактировать

Как сказано в комментарии, Flash (или фактически любая другая программа) не может определить, нажата ли дополнительная кнопка мыши. Драйвер мыши отвечает за сопоставление этих нажатий кнопок со специальными командами (такими как открытие программы и т. Д.), И вы можете даже делать такие причудливые вещи, как перезапись щелчка правой кнопкой мыши на что-то другое и помещение его на совершенно другую кнопку (каким образом эта другая кнопка будет отображаться как «правый щелчок» в программах).

Так что нет, вы не можете получить доступ к дополнительным кнопкам мыши во Flash.

0 голосов
/ 22 мая 2010

Хм, я нашел интересный пост здесь Та же проблема, и похоже, что решение найдено!

Я использовал swf AS2 и ASNative для регистрации событий мыши и отправил их в свой swf AS3 через LocalConnection

Кто-нибудь может сказать, как это использовать?

0 голосов
/ 22 мая 2010

Если вы программируете Air, есть события mousedown, rightMouseDown и middleMouseDown.Если вы не программируете эфир, вы действительно правы, и есть только одно событие нажатия мыши.

...