Forums Développement Multimédia

Aller au contenu

Comment corriger un bug mineur dans un jeu suite à l'utilisation d'un bouton

CODE

2 réponses à ce sujet

#1 Narziat

    Ceinture Blanche

  • Members
  • Pip
  • 4 messages

Posté 28 March 2012 - 12:58 PM

Bonjour,

Je suis entrain de faire un jeu snake, et dans ce jeu j'ai un menu avec des boutons (rien de bien mechant, je suis d'accord) cependant dès lors où j'appuis sur le bouton "Play" celui-ci m'ammene sur mon jeu mais je suis obligé de cliquer de nouveau sur la fenetre afin que je puisse lancer le deplacement de mon serpent.

Connaîtriez vous une solution à ce problème?

#2 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 28 March 2012 - 13:07 PM

Bonjour Narziat et bienvenue sur les forums de Mediabox.

Les symptômes donnent à penser qu'il s'agit d'un problème de transfert du focus.
En effet, la gestion des touches est dépendant du focus : pour comprendre ça, le plus souvent, quand l'utilisateur appuie sur des touches, il veut écrire dans un champ de texte . Et pas dans un autre… Le focus sert à ça. Il cible un élément auquel sont transmis les événements clavier. Et focus, c'est ttout simplement une propriété du stage.

Ce qui est automatique pour un champ, un bouton, ne l'est pas pour un déplacement dans un jeu, par exemple.
Dans ton cas, probablement que le focus est resté sur le bouton.

Ce que tu dois faire, après le clic sur le bouton "Play", c'est de donner le focus expressément à l'objet que tu as décidé d'écouteur.



Pour parler clair :
si tu attaches tes écouteurs clavier sur le stage :
stage.addEventListener(KeyBordEvent.…

Alors, après le clic sur le bouton play, tu dois faire :
stage.focus=stage;


PS : c'est une question récurrente sur les forums, je suis surpris que tu n'ai pas trouvé via une petite recherche…

#3 Narziat

    Ceinture Blanche

  • Members
  • Pip
  • 4 messages

Posté 28 March 2012 - 13:27 PM

Je m'excuse d'avoir posé une question qui soit recurrente, je rechercherais mieux la prochaine fois. Sinon je te remercie pour la réponse qui a été rapide et bonne du premier coup.



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)