2011-01-15 5 views
2

Est-il possible d'attraper un clic droit à l'intérieur du flash (AS3)?Catch clic-droit AS3

Non JQuery/JavaScript.

J'ai besoin de mettre en pause le jeu quand un clic-droit est intercepté, donc je ne veux pas tellement désactiver le menu contextuel que je veux juste dire qu'un clic-droit est arrivé. Y a-t-il un EventListener que je peux ajouter? D'autres idées?

MISE À JOUR:
J'ai besoin que l'événement soit déclenché car ils font un clic droit, pas seulement après la disparition du menu contextuel.

+0

http://3l3373.com/flash-as3-right-click-context-menu/ peut-être cela aide – Mark

+0

Malheureusement non, qui ne parvient à lire le clic après la disparition du menu contextuel. J'ai besoin que l'événement soit déclenché car ils font un clic droit. –

Répondre

1

Il n'y a que deux façons de capturer un événement de clic droit:

  1. Pour une application de navigateur Web: Use JavaScript. Vous ne pouvez pas le faire directement dans Flash, car vous ne pouvez pas désactiver le menu contextuel.

  2. Pour une application de bureau: Déployer en tant qu'application AIR. AIR a un RIGHT_CLICK MouseEvent intégré.

Il n'y a pas trois étapes. :(

PS: Autrement dit, si menuSelect ne fonctionne vraiment pas pour vous - la documentation indique qu'il est déclenchée avant le menu est ouvert

1

Tout comme weltraumpirat rapporté, la seule façon de capturer le. L'événement Clic droit est si vous construisez votre application à déployer en tant qu'application AIR si vous voulez la conserver native dans l'architecture de la plateforme Flash, sinon vous devrez utiliser un autre langage conjointement avec Flash pour capturer l'événement (c.-à-d. JavaScript)

FYI, voici la référence de l'API pour la classe MouseEvent qui contient des informations sur l'événement RightClick: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/MouseEvent.html

0

Sans Javascript! Oui, ça fonctionne bien.

Je vous le dis: Si vous êtes utilisation ou Flash-Flex- Builder que vous avez besoin d'ajouter rightClick de l'étiquette d'application racine: exemple: <s:Applikation .... RightClick="appRightClick (event)"> que vous avez besoin d'éteindre contextmenu null.

Et vous ajoutez ou BorderContainer vue que d'ajouter rightClick avec toute rightClick fonction que vous devez ajouter le menu de mx.controls.Menu et menu1 doit écouter rightClick à appRightClick (événement)

Parce qu'il n » t accès à partir du menu contextuel de Flash Player.

je l'espère, parce que votre applikation flash fonctionne pour rightClick :)

+0

Je voudrais le faire en AS3 normal et non en FLEX –

+0

nope regarder ma solution :) http://stackoverflow.com/questions/22259135/new-right-click-without-javascript-rightclick-js – SourceSkyBoxer

+0

Wow c'est génial, merci beaucoup!Je ne suis pas sûr si elles autoriseront cette soumission si ... Pouvez-vous penser à une question à poster et poster alors cette réponse comme solution à cette question? En ce moment, c'est juste un article de blog. –