Поймать AS3 правой кнопкой мыши

Можно ли поймать правый щелчок внутри флешки (AS3)?

Нет JQuery / JavaScript.

Мне нужно приостановить игровой процесс, когда щелчок правой кнопкой мыши пойман, поэтому я не столько хочу отключать контекстное меню, сколько просто хочу сообщить, что щелчок правой кнопкой мыши произошел. Можно ли добавить EventListener? Есть другие идеи?

ОБНОВЛЕНИЕ:
Мне нужно, чтобы событие запускалось, поскольку они на самом деле щелкают правой кнопкой мыши, а не сразу после исчезновения контекстного меню.


person Jon Sandness    schedule 15.01.2011    source источник
comment
3l3373.com/flash-as3-right-click-context-menu может это поможет   -  person Mark    schedule 16.01.2011
comment
К сожалению, нет, это удается прочитать только после того, как контекстное меню исчезло. Мне нужно, чтобы событие запускалось, поскольку они на самом деле щелкают правой кнопкой мыши.   -  person Jon Sandness    schedule 16.01.2011


Ответы (3)


Есть только два способа зафиксировать событие щелчка правой кнопкой мыши:

  1. Для приложения веб-браузера: использовать JavaScript . Вы не можете сделать это непосредственно во Flash, потому что вы не можете отключить контекстное меню.

  2. Для настольного приложения: развернуть как приложение AIR. AIR имеет встроенный RIGHT_CLICK MouseEvent .

Нет третьего шага. :(

PS: То есть, если menuSelect действительно не работает для вас - в документации говорится, что он запускается до открытия меню.

person weltraumpirat    schedule 16.01.2011

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

К вашему сведению, вот справочник по API для класса MouseEvent, который содержит информацию о событии RightClick: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/MouseEvent.html

person Anil Natha    schedule 19.01.2011

Без Javascript! Да работает нормально.

Я говорю вам: если вы используете Flex- или Flash-Builder, вам нужно добавить rightClick из корневого тега приложения: example: <s:Applikation .... RightClick="appRightClick (event)"> Затем вам нужно отключить contextmenu на null.

И вы добавляете bordercontainer или view, чем добавляете rightClick с любой функцией rightClick, чем вам нужно для добавления меню из mx.controls.Menu и menu1 должны прослушивать rightClick для appRightClick (событие)

Потому что он не получает доступ из контекстного меню Flash Player.

Надеюсь, потому что ваше флэш-приложение работает с rightClick :)

person SourceSkyBoxer    schedule 07.03.2014
comment
Хочу сделать это в обычном AS3, а не в FLEX - person Jon Sandness; 12.03.2014
comment
нет, посмотрите мое решение :) stackoverflow .com / questions / 22259135 / - person SourceSkyBoxer; 13.03.2014
comment
Вау, это круто, большое спасибо! Я не уверен, разрешат ли они эту отправку ... Можете ли вы придумать вопрос, который нужно опубликовать, а затем опубликовать ответ в качестве решения этого вопроса? Сейчас это просто сообщение в блоге. - person Jon Sandness; 17.03.2014
comment
добро пожаловать :) Я надеюсь, что вы сможете разработать мой простой щелчок правой кнопкой мыши на Flec Applikation, используя версию MX. это очень просто. :) - person SourceSkyBoxer; 18.03.2014