Bonsoir, avant de parler de mon problème, je ne sais pas du tout si je suis dans la bonne section et aussi j'ai posté mon problème ici car j'utilise un objet Time qui est utilisé avec SFML.
Voilà je souhaite convertir l'objet Time en Float car je souhaite faire en sorte de gérer la vitesse de mon application pour éviter les problèmes de vitesse entre deux config n'ayant pas les mêmes vitesses pour afficher une image/sec. (Je sais pas si vous avez compris ^^)
const int deplacement;
float deplacementFPS;
Clock clock;
while(window.isOpen())
{
window.clear();
....
Time frameTime = clock.restart();
deplacementFPS += deplacement * frameTime;
}
Et ensuite utiliser la méthode move :
monSprite.move(0.0, -deplacementFPS); // Ceci est un exemple.
Merci de votre aide.
PS : encore une fois si le nom de mon sujet ne correspond pas à mon problème ou s'il n'est pas aux bons endroits merci de me le dire j'éditerai.
De la même manière, une variable sf::Time peut être convertie en secondes, en millisecondes ou en microsecondes :
sf::Time time = ...;
sf::Int64 usec = time.asMicroseconds();
sf::Int32 msec = time.asMilliseconds();
float sec = time.asSeconds();
C'est pas clair ? :P
Sinon il y aussi la doc de l'API à potasser. Ou encore les exemples du SDK, dont certains font ce que tu veux faire.
Autant pour moi ^^
Donc au final sa revient au même si sa aurais fonctionné comme ceci :
deplacementFPS += deplacement * frameTime;
Que ceci :
deplacementFPS += deplacement * frameTime.asSeconds();
? Sinon j'ai une petite question, lorsque je déplace mon sprite au début il va à une bonne vitesse mais plus il fait de tour dans la boucle principale, plus mon sprite va très vite.
Pourtant j'ai bien utilisé juste après :
clock.restart();
Merci.
PS : Je n'ai pas comprit ce que tu me propose de chercher par rapport avec SDK x)