Perte du focus sur l'application
Bonjour à tous. Alors voilà j'ai débuté en Flex 3 depuis quelque jours. Pour me faire la main j'ai voulu programmer un démineur (pas de graphiques, juste un Grid avec des labels).
Comme il semble impossible d'utiliser le clic droit pour marquer les mines, j'ai pensé qu'un écouteur sur les évènements du clavier ferait l'affaire. J'ai donc mis mon écouteur au niveau de l'application.
Code:
Application.application.addEventListener(KeyboardEvent.KEY_DOWN, shift);
J'ai un peu modifié mon javascript pour que l'application reçoive le focus au chargement grâce à:
Code:
document.getElementById('${application}').focus();
ça fonctionne bien, jusqu'au moment ou je perd le focus à cause d'un Alt-tab, d'un clic sur un popup "Alert" etc. Là plus moyen de récupérer le focus. J'ai bien essayé de mettre un écouteur sur la perte du focus pour le ré-attribuer automatiquement à l'application mais ça provoque une erreur que je n'arrive pas à déchiffrer:
Code:
ArgumentError: Error #1063: Non-correspondance du nombre d'arguments sur plateau::Plateau/focus(). 0 prévu(s), 1 détecté(s).
j'ai bien cherché sur internet en pensant que tout ceux qui ont programmé des jeux en flash ont du être confronté au même problème, mais j'ai pas trouvé de réponse satisfaisante, alors je m'adresse à vous.
Merci de vous intéresser à mon problème ;)
EDIT: en poursuivant mes recherches je suis tombé sur cet article , il fallait tout simplement mettre un écouteur sur l'event clic et réattribuer le focus à l'application.