2011-01-15 7 views
2

Ist es möglich, einen Rechtsklick innerhalb des Flash (AS3) zu fangen?Fang Rechtsklick AS3

Keine JQuery/JavaScript.

Ich muss das Spiel pausieren, wenn ein Rechtsklick abgefangen wird, also möchte ich das Kontextmenü nicht so sehr deaktivieren, da ich nur sagen möchte, dass ein Rechtsklick passiert ist. Kann ich einen EventListener hinzufügen? Irgendwelche anderen Ideen?

UPDATE:
Ich brauche das Ereignis ausgelöst werden, da sie tatsächlich mit der rechten Maustaste klicken, nicht nur nachdem das Kontextmenü verschwunden ist.

+0

http://3l3373.com/flash-as3-right-click-context-menu/ vielleicht hilft – Mark

+0

Leider nein, das schafft nur zu Lies den Klick, nachdem das Kontextmenü verschwunden ist. Ich brauche das Ereignis, das ausgelöst wird, da sie tatsächlich mit der rechten Maustaste klicken. –

Antwort

1

Es gibt nur zwei Möglichkeiten, um einen Rechtsklick Ereignis zu erfassen:

  1. Für eine Anwendung Web-Browser: Use JavaScript. Sie können dies nicht direkt in Flash tun, da Sie das Kontextmenü nicht deaktivieren können.

  2. Für eine Desktop-Anwendung: Bereitstellen als AIR-Anwendung. AIR hat eine RIGHT_CLICK MouseEvent eingebaut.

Es gibt keinen Schritt drei. :(

PS: Das heißt, wenn menuSelect wirklich nicht für Sie arbeiten - die Dokumentation sagt, dass es ausgelöst wird vor das Menü geöffnet wird

1

Wie berichtet Weltraumpirat, der einzige Weg, das zu erfassen. Wenn Sie Ihre Anwendung als AIR-Anwendung bereitstellen, wenn Sie die Flash-Plattform-Architektur beibehalten möchten, müssen Sie eine andere Sprache in Verbindung mit Flash verwenden, um das Ereignis zu erfassen (d. H JavaScript)

FYI, hier ist die API-Referenz für die MouseEvent-Klasse, die Informationen über enthält das RightClick-Ereignis: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/MouseEvent.html

0

Ohne Javascript! Ja, es funktioniert gut.

Ich sage Ihnen: Wenn Sie Flex- oder Flash-Builder sind, als Sie von der Wurzel rightclick Anwendung Tag hinzufügen müssen: Beispiel: <s:Applikation .... RightClick="appRightClick (event)"> als Sie contextmenu abschalten müssen auf null.

Und Sie fügen oder Border Ansicht als rightclick hinzufügen mit jeder rightclick-Funktion, als Sie Menü aus mx.controls.Menu hinzufügen müssen und menu1 zu rightclick zu appRightClick hören muß (event)

Weil es doesn‘ t Zugriff vom Flash Player-Kontextmenü.

Ich hoffe es, weil Sie Ihre Flash-applikation für rightclick arbeitet :)

+0

Ich würde es gerne in normalen AS3 und nicht in FLEX –

+0

Nee sehen meine Lösung :) http://StackOverflow.com/Questions/22259135/New-Right-Click-Without-Javascript-RightClick-Js – SourceSkyBoxer

+0

Wow, das ist Super, vielen Dank!Ich bin mir nicht sicher, ob sie diese Einreichung auch zulassen werden ... Können Sie sich eine Frage vorstellen, die Sie posten und dann als Antwort auf diese Frage veröffentlichen? Im Moment ist es nur ein Blogeintrag. –