Bonjour,
Je me retrouve face à un problème, je dispose de deux boutons, qui sont les deux à la même position x/y. Le fonction attendu est le suivant : Si j'appuie sur le premier bouton, le second devient cliquable, puis le second effectue une action quelconque.
À savoir que j'ai une classe bouton, avec une fonction toute simple pour vérifier si le bouton (rectangleShape) est cliqué.
bool Button::isClicked(Event *event, Vector2f *worldPos)
{
if((event->type == Event::MouseButtonPressed) && (event->mouseButton.button == Mouse::Left) && (button_GB.contains(worldPos->x, worldPos->y)))
{
return true;
}
else
{
return false;
}
}
Et donc, dans le fonctionnement, j'ai une variable qui passe à true si le premier bouton est cliqué. Et ensuite j'ai une condition avec la fonction juste au dessus et avec la variable précédente :
if(button1[i].isClicked(event, worldPos))
{
variable2 = true;
}
if(button2[i].isClicked(event, worldPos) && variable2)
Et je fais ça pour les deux boutons, mais si j'appuie sur le premier, je passe directement à la dernière action, et je ne vois pas le second bouton (le clic se fait sur les deux directements). J'espère avoir été suffisament clair sur l'explication.
Pour passer outre ce problème, j'ai pensé à laisser un petit délai. Mais rien n'y fait, cela change rien.
Auriez vous une idée de comment contrer ce soucis ? Je demande pas forcement du code, juste une piste.
Merci d'avance