Il faudrait que tu indentes mieux ton code parce que c'est dur a lire, mais tu retournerais pas EXIT_SUCCESS a la fin de ta boucle ou tu teste app.IsOpenned ? du coup oui, ton programme doit se fermer après la premiere boucle...
int main()
{
[...]
if (!image.LoadFromFile("cat.png"))
{
cout<<"Erreur durant le chargement de l'image"<<endl;
return EXIT_FAILURE;
}
else
{
[...]
while (app.IsOpened())
{
while (app.GetEvent(event))
{
switch (event.Type)
{
[...]
}
if(marche == false)
{
[...]
}
personnage.SetPosition(Vector2f(x, y));
marche = false;
app.Clear();
app.Draw(personnage);
app.Display();
personnage.SetImage(image);
sf::Sleep(0.5f);
std::cout << 1 << std::endl;
}
return EXIT_SUCCESS;// La ligne fatale =)
}
}
}