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

Auteur Sujet: Doute sur MouseButtonPressed et MouseButtonReleased  (Lu 2836 fois)

0 Membres et 1 Invité sur ce sujet

Rick_Cplusplus

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
    • E-mail
Doute sur MouseButtonPressed et MouseButtonReleased
« le: Août 01, 2019, 10:25:18 pm »
Bonsoir la communauté,

Les tutoriels sont vraiment bien fait mais j'ai du mal à lever un doute sur le fonctionnement des évènements MouseButtonPressed et MouseButtonReleased

Le tuto dit :
Les évènements sf::Event::MouseButtonPressed et sf::Event::MouseButtonReleased sont déclenchés lorsqu'un bouton souris est pressé/relâché.

Ok mais ce que je cherche à comprendre c'est si ces événements signalent un front montant / descendant (le bouton de la souris change d'état) ou un statut (le bouton de la souris est à l'état pressé / relâché).

Autrement dit, si je code :

int i(0);
sf::Event event;
    while (m_fenetre.pollEvent(event))
    {
         if (event.type == sf::Event::MouseButtonPressed)
        {
            // click gauche...
            if (sf::Mouse::isButtonPressed(sf::Mouse::Left))
            {

                i++
               
            }
        }
    }
 

et que durant l’exécution je maintiens le bouton gauche de la souris appuyé, mon i s'incrémente-il une seule fois ou une fois par frame ?

Rick.

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re: Doute sur MouseButtonPressed et MouseButtonReleased
« Réponse #1 le: Août 01, 2019, 11:23:15 pm »
1 fois. Sinon t'essaies et tu verras bien :D

if (event.type == sf::Event::MouseButtonPressed)
=> Est-ce qu'on vient d'appuyer sur un bouton de la souris ?

if (sf::Mouse::isButtonPressed(sf::Mouse::Left))
=> Est-ce que le clic gauche de la souris est actuellement enfoncé ?

Rick_Cplusplus

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
    • E-mail
Re: Doute sur MouseButtonPressed et MouseButtonReleased
« Réponse #2 le: Août 02, 2019, 08:04:52 am »
Ok c'est plus clair.
Merci pour ces précisions Mister G.  :)

Rick.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Doute sur MouseButtonPressed et MouseButtonReleased
« Réponse #3 le: Août 02, 2019, 08:29:13 am »
Un peu de logique : on parle ici d'évènements (ie. des choses qui arrivent de manière ponctuelle). Ca n'aurait pas de sens de spammer la boucle d'évènements avec l'état de tous les boutons et touches clavier/souris/joystick lorsqu'il ne se passe rien.
Laurent Gomila - SFML developer