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

Auteur Sujet: Event : Cliquer dans un cadre  (Lu 2163 fois)

0 Membres et 1 Invité sur ce sujet

Cmdu76

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Event : Cliquer dans un cadre
« le: Janvier 21, 2013, 08:28:20 pm »
Voilà, j'ai déjà pas mal posté suite à des problèmes de débutants sur la bibliothèque, mais là c'est bon je suis en train de faire ce que je veux :)

Il me manque juste un dernier petit truc, j'ai besoin de savoir quand est-ce que l'utilisateur clique sur un bouton..

Voici mon code:

if (event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Left && bouton2.contains(event.mouseMove.x, event.mouseMove.y))
            {
                sprite2.setTextureRect(sf::IntRect(0, 70, 396, 70));
                std::cout << "Clicked in 2!" << std::endl;
            }

Bien sur, je le place dans une boucle de recherche d'event, le fait d'être sur le bouton est bien détecté par une autre condition.

Voilà, j'aimerais bien un dernier petit coup de main :)

Merci d'avance ;)

G.

  • Hero Member
  • *****
  • Messages: 1592
    • Voir le profil
Re : Event : Cliquer dans un cadre
« Réponse #1 le: Janvier 21, 2013, 08:34:14 pm »
N'utilise pas event.mouseMove.x (et y) si ton évènement n'est pas de type MouseMoved. ;)
C'est dans le tuto sur les events.

A part ça, tu nous dis pas vraiment quel est le problème.
« Modifié: Janvier 21, 2013, 08:35:50 pm par G. »

Cmdu76

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re : Event : Cliquer dans un cadre
« Réponse #2 le: Janvier 21, 2013, 08:59:43 pm »
Bah quand je fais un clique gauche dans le bouton, ma condition n'est pas respectée...

J'ai essayé de changer par ça :

if (event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Left && bouton2.contains(sf::Mouse::getPosition().x, sf::Mouse::getPosition().y))
            {
                sprite2.setTextureRect(sf::IntRect(0, 70, 396, 70));
                std::cout << "Clicked in 2!" << std::endl;
            }
 

Mais toujours aucun résultat ..


Cmdu76

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re : Event : Cliquer dans un cadre
« Réponse #3 le: Janvier 21, 2013, 09:45:56 pm »
Problème résolu,

Je devais juste mettre ça :

sf::Mouse::getPosition(window).x, sf::Mouse::getPosition(window).y

(J'avais pas mis les window)

 

anything