Bonjour,
Voilà j'ai crée une classe qui s'occupe de la gestion des événements et celle-ci bug avec l'événement close.
Voici le code minimaliste:
Fichier EventManager.hpp
class EventManager
{
public:
EventManager();
virtual ~EventManager();
virtual void update(sf::RenderWindow& window);
/* Public Data */
bool close; // Est-ce que on demande à fermer la fenetre ?
protected:
sf::Event _event; // Contient les événements
};
Fichier EventManager.cpp
EventManager::EventManager()
{
close=false;
}
EventManager::~EventManager()
{
}
void EventManager::update(sf::RenderWindow& window)
{
close=false;
while(window.pollEvent(_event))
{
switch(_event.type)
{
case sf::Event::Closed:
close=true;
break;
default:break;
}
}
}
Et le fichier main.cpp
#include <iostream>
#include "EventManager.hpp"
int main()
{
sf::RenderWindow App;
EventManager event;
App.create(sf::VideoMode(800,600), "Test");
App.setFramerateLimit(60);
while(App.isOpen())
{
event.update(App);
if(event.close)
App.close();
App.clear(sf::Color::Black);
App.display();
}
return 0;
}
Le problèm est le suivant:
Quand je lance l'application et que la souris est à l'extérieur de la fenêtre, tous va bien mais à partir du moment où la souris passe sur la fenêtre, même sans cliquer, la fenêtre se ferme.
Je ne comprend pas trop pourquoi cela ne marche pas, merci de m'éclairer