Bonjour,
J'ai déclaré ma fenêtre "app" en Globale, autrement-dit avant mon int main(), de manière à y avoir accès partout dans le code.
Voici le code en question :
#include <iostream>
#include "KeyGestion.h"
#include <SFML/Graphics.hpp>
using namespace std;
using namespace sf;
#pragma region variables
RenderWindow app(VideoMode(800,600,32),"Test", Style::Titlebar);
KeyGestion K;
#pragma endregion variables
int main()
{
while(app.isOpen())
{
Event event;
while (app.pollEvent(event))
{
if (event.type == event.Closed)
app.close();
}
K.KeyPress();
app.display();
}
}
Le problème, c'est que lorsque je veux accéder à ma fenêtre "app" pour la fermer depuis une autre classe, ici KeyGestion.CPP, au moment de vouloir appliquer un évènement clavier ( ici pour fermer la fenêtre ), cela ne reconnait pas "app" par l'erreur suivante :
error : 'app' was not declared in this scopeVoici KeyGestion.CPP
#include "KeyGestion.h"
#include <SFML/Graphics.hpp>
using namespace std;
using namespace sf;
KeyGestion::KeyGestion()
{
}
KeyGestion::~KeyGestion()
{
}
void KeyGestion::KeyPress()
{
if (Keyboard::isKeyPressed(Keyboard::Escape))
{
app.close();
}
}
Le but étant de fermer ma fenêtre en pressant la touche ECHAP grâce à une classe spécifique pour la gestion des touches clavier... Merci encore à vous de bien vouloir m'éclairer :-)