En relisant... je suis stupide.....

This commit is contained in:
Mylloon 2023-12-28 00:30:44 +01:00
parent c46a976044
commit 71ece11ddf
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
2 changed files with 5 additions and 21 deletions

View file

@ -17,6 +17,6 @@ struct Ecran {
/* Prend 2 arguments: position X, position Y /* Prend 2 arguments: position X, position Y
* -> appellé à chaque fois que l'utilisateur fait clic gauche */ * -> appellé à chaque fois que l'utilisateur fait clic gauche */
const std::function<void(const int, const int)> doOnClick = { const std::function<void(const int, const int)> doOnLeftClick = {
[](const int, const int) {}}) const; [](const int, const int) {}}) const;
}; };

View file

@ -11,41 +11,25 @@ Ecran::~Ecran() {}
void Ecran::afficher( void Ecran::afficher(
const std::function<void()> dessin, const std::function<void()> dessin,
const std::function<void(const int, const int)> onClick) const { const std::function<void(const int, const int)> onLeftClick) const {
// Flag qui track si le clic gauche est pressé // Flag qui track si le clic gauche est pressé
bool mouseButtonPressed = false; bool mouseButtonPressed = false;
while (window.isOpen()) { while (window.isOpen()) {
sf::Event event; sf::Event event;
while (window.pollEvent(event)) { while (window.pollEvent(event)) {
// Fermeture de la fenêtre
if (event.type == sf::Event::Closed) { if (event.type == sf::Event::Closed) {
window.close(); window.close();
} }
}
/****************
* Evenements *
***************/
// Récupération des coordonnées du clic de souris // Récupération des coordonnées du clic de souris
if (!mouseButtonPressed) {
if (event.type == sf::Event::MouseButtonPressed && if (event.type == sf::Event::MouseButtonPressed &&
event.mouseButton.button == sf::Mouse::Left) { event.mouseButton.button == sf::Mouse::Left) {
onClick(event.mouseButton.x, event.mouseButton.y); onLeftClick(event.mouseButton.x, event.mouseButton.y);
mouseButtonPressed = true;
} }
} }
// Réinitialisation du flag lorsque le bouton est relâché
if (event.type == sf::Event::MouseButtonReleased &&
event.mouseButton.button == sf::Mouse::Left) {
mouseButtonPressed = false;
}
/****************
* Dessin *
***************/
window.clear(); window.clear();
// Appel d'une fonction dessin // Appel d'une fonction dessin