Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Interdire de recevoir des keypress  (Lu 1728 fois)

0 Membres et 1 Invité sur ce sujet

yhu420

  • Jr. Member
  • **
  • Messages: 75
    • Voir le profil
    • E-mail
Interdire de recevoir des keypress
« le: Octobre 25, 2013, 06:24:22 pm »
Bonjour tout le monde,
Je débute encore avec SFML et je me suis mis en tête de faire une petite application. Voici mon problème: j'ai plus ou moins :
if(ToucheEntréeAppuyée())
{
     faireUneActionQuiDure2s();
}

Alors maintenant je me suis dit oui mais si l'utilisateur décide de spammer la touche entrée, alors la tout part en cacahuète. Ce qui me semble être la bonne solution c'est une traduction de ça en C++:

if(ToucheEntréeAppuyée())
{
     ignorerLesTouchesAppuyées2s();
     faireUneActionQuiDure2s();
}


Gros edit: ou alors quelque chose comme ça:

ignorerLesEvenementsClaviers();
Des instructions...;
NePlusIgnorerLesEvenements();

Cette solution m'aiderait encore plus dans mon cas  ;D
Merci  :D
« Modifié: Octobre 25, 2013, 06:28:32 pm par yhu420 »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Interdire de recevoir des keypress
« Réponse #1 le: Octobre 25, 2013, 06:34:06 pm »
Déjà si ton action qui dure 2 secondes est effectuée dans le même thread, il ne risque pas de se passer grand chose pendant ce temps, même si l'utilisateur appuie sur entrée. Je vais donc supposer que cette action s'effectue dans un thread séparé.

Ensuite je pense que tu compliques la vie, il faut juste un booléen qui dit si l'utilisateur peut ou non appuyer sur entrée (= si la tâche qui dure deux secondes est en cours ou non), puis :

if(!actionEnCours && ToucheEntréeAppuyée())
{
     faireUneActionQuiDure2s(); --> actionEnCours = true au début, actionEnCours = false à la fin
}
Laurent Gomila - SFML developer

yhu420

  • Jr. Member
  • **
  • Messages: 75
    • Voir le profil
    • E-mail
Re : Interdire de recevoir des keypress
« Réponse #2 le: Octobre 27, 2013, 08:55:35 am »
Pas bête comme idée merci de ta réponse rapide ça m'a vraiment aidé  ;D