Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Doute sur MouseButtonPressed et MouseButtonReleased  (Read 6536 times)

0 Members and 1 Guest are viewing this topic.

Rick_Cplusplus

  • Newbie
  • *
  • Posts: 34
    • View Profile
    • Email
Doute sur MouseButtonPressed et MouseButtonReleased
« on: August 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
  • *****
  • Posts: 1599
    • View Profile
Re: Doute sur MouseButtonPressed et MouseButtonReleased
« Reply #1 on: August 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
  • *
  • Posts: 34
    • View Profile
    • Email
Re: Doute sur MouseButtonPressed et MouseButtonReleased
« Reply #2 on: August 02, 2019, 08:04:52 am »
Ok c'est plus clair.
Merci pour ces précisions Mister G.  :)

Rick.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Re: Doute sur MouseButtonPressed et MouseButtonReleased
« Reply #3 on: August 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