Bonsoir,
Désolé, le titre n'est pas vraiment explicite, mais j'ai un problème sur un petit bout de code que je veux lancer après avoir appuyé sur une touche, en fait le bout de code fonctionne, mais pas comme je souhaite. Voici le code :
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
{
sf::Clock horloge;
sf::Time temps = sf::seconds(0.5);
bool continuer = true;
int i = 0;
while(continuer)
{
if(horloge.getElapsedTime().asSeconds() >= temps.asSeconds())
{
if(i == 4)
{
continuer = false;
}
image.move(sf::Vector2f(0,-10));
horloge.restart();
i++;
}
}
}
Le but finale du bout de code est de faire sauter un personnage mais la, le bout de code ne correspond absolument pas c'est juste un test car après je vois comment il faut faire. Donc le problème, c'est que lorsque j'appuie sur ma touche "Up", ma fenêtre ou il y a déjà des animations se fige (comme une pause ) et dans ma console l'opération se passe, donc dans mon exemple, 2 secondes se passe, et ensuite l'animation de ma fenêtre se reprend avec mon personnage qui à bougé de 40 pixels, c'est donc le problème car je voudrais que mon fond continu à défilé en continue, et de plus je voudrais pouvoir voir l'animation de mon personnage petit à petit. Voila si quelqu'un a une solution je lui serai reconnaissant ! (Le problème si j'ai bien compris est que lorsque je rentre dans ma boucle while, ma fenêtre n'ai plus animé)
Merci bonne soirée.