Bonjour .
J'aimerais gérer la vue en utilisant un delta sf::Time qui calcule le temps de chaque frame en microseconds, afin d'avoir un mouvement de caméra le plus fluide possible...
Je prend donc le parti de créer une variable "_viewValue" , qui va calculer le ratio des déplacements en fonction, donc, du deltaTime, et également de la taille du zoom . ( le but étant de bouger plus ou moins vite en fonction du zoom qui est oppéré sur la scène : plus on est proche, plus c'est lent et inversement ).
Je me retrouve alors avec une interrogation ( de débutant ) : comment bien gérer cette équation pour que la vitesse soit la même quelque soit la machine qui fait tourner le programme? Car je me retrouve a "bricoler" des mathématiques de façon un peu hasardeuse...ce qui donne :
_zoomRation = _viewMaximumZoom / _view.getSize().x ;
_viewValue = 10 / _deltaTime * _zoomRation ;
puis enssuite, j'ai, bien sur :
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left))
{
_view.move(-_viewValue,0);
}
etc...
( maximumZoom étant une constante de la taille.x de la fenêtre minimum que le zoom puisse atteindre, soit le plus proche )
Ma question :
Selon vous, ce code vous parait-il fiable/correct ? et ce quelque soit la puissance de la machine qui fait tourner le programme ?
Merci si vous pouvez m'aider
ps: je me suis finalement mi a l'anglais...Je suis grand, maintenant