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

Auteur Sujet: De la gestion du double-click  (Lu 3810 fois)

0 Membres et 1 Invité sur ce sujet

Joffrey

  • Newbie
  • *
  • Messages: 24
    • Voir le profil
De la gestion du double-click
« le: Avril 03, 2012, 03:04:45 am »
Bien le bonjour amis de la programmation et d'ailleurs,

Une petite question à propos de la gestion de la souris via SFML 2.0.  Je souhaiterais savoir si il existe une façon de traiter le double-click ?

En feuillentant la doc, je ne me suis pas aperçu de l'existence d'une telle fonction.
Dois-je construire un algo charger d'interpréter le double click ?

Merci et à plus tard,
Joffrey
« Modifié: Avril 04, 2012, 11:07:47 am par Joffrey »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: De la gestion du double-click
« Réponse #1 le: Avril 03, 2012, 07:58:18 am »
Citer
Dois-je construire un algo charger d'interpréter le double click ?
Oui :)
Laurent Gomila - SFML developer

Joffrey

  • Newbie
  • *
  • Messages: 24
    • Voir le profil
Re: De la gestion du double-click
« Réponse #2 le: Avril 03, 2012, 08:26:05 am »
Merci pour cette réponse simple et concise :D

exkise

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re: De la gestion du double-click
« Réponse #3 le: Avril 04, 2012, 09:46:18 pm »
Bonsoir,

si ça peut t'aider, j'avais fait une fonction qui permettait de gérer le double clic.

Tu déclares quelque part un sf::Clock mon_Clock et à chaque tour de boucle tu fais appel à ce petit bout de code.

if(event_du_click) // si on détecte un clic
{
    if(mon_Clock.GetElapsedTime()<=0.5) // on verifie si le temps écoulé est inférieur au temps du double clic ( ici 0.5 seconde )
    {
        // alors y'a double-click
    }
    else
    {
        mon_Clock.Reset(); // on le reset si le temps est supérieur car sinon on ne pourra pas capter les double-clicks suivant
        // bah là c'était un click normal
    }
}

En espérant que ce code pourra être utile, a toi où à d'autre :)