Bonjour,
Je rencontre un problème que je n'arrive pas à m'expliquer.
A l'aide d'une View de 320x240, d'une texture de décors en 1280x960, je balade un sprite de 16x16 dans le décors.
Le problème qui m'arrive c'est qu'aléatoirement, mon jeu tourne à deux vitesse, normale ou trop rapide. Les changements sont instantanés, mais rares. Ils peuvent se produire, par exemple, au bout d'une minute comme au bout de 20 secondes.
Voici comment je gère la vitesse. Toute d'abord, au début de mon code, il y a ça :
horloge = sfClock_create();
sfRenderWindow_setFramerateLimit(win,60);
sfRenderWindow_setVerticalSyncEnabled(win,sfFalse);
L'horloge tourne en permanence sans jamais être remise à 0, je m'en sert de repère temporel en millisecondes.
Ensuite, pour fixer la vitesse de mon programme à environs la vitesse d'affichage, il y a, en algorithme, ça :
1) Je récupère l'horloge au début dans la boucle dans la variable "temps"
2) A la fin de la boucle, je crée une petite boucle de temporisation :
Tant que horloge - temps < 16, boucler à vide
Fin Tant que
Je me demandais si cette boucle était nécessaire, du coup ?
EDIT: Sans la boucle, cela semble fonctionne... C'est normal ?