/* retourne le nombre de ms sur 32 bits depuis l'initialisation de SDL */
Uint32 SDL_GetTicks(void);
/* impose une pause au processus en cours */
void SDL_Delay(Uint32 ms);
En ce qui concerne les timers, SDL fournit une fonction qui permet de placer une fonction de rappel (callback) qui sera appelée à intervalle régulier. Cette fonction de rappel pourrait être lancée dans un thread différent donc faites attention à ce que vous faites en son sein. D'autre part, la résolution maximale du timer est de 10 ms, et de fait si vous demandez un intervalle de 16 ms, la fonction sera rappelée toutes les 20ms ! Enfin n'oubliez pas de passer le flag SDL_INIT_TIMER lors de l'initialisation de SDL.
/* créer un timer */
SDL_TimerID SDL_AddTimer(Uint32 interval, SDL_NewTimerCallback callback, void *param);
/* détruire un timer */
SDL_bool SDL_RemoveTimer(SDL_TimerID id);
Partager