Section courante

A propos

Section administrative du site

SDL_ADDTIMER

SDL : Ajout de la minuterie
  SDL/SDL.h

Syntaxe

SDL_TimerID SDL_AddTimer(Uint32 interval, SDL_NewTimerCallback callback, void* param);

Paramètres

Nom Description
interval Ce paramètre permet d'indiquer l'intervalle de la minuterie en millisecondes
callback Ce paramètre permet d'indiquer la fonction utilisateur appelé quand l'intervalle de temps spécifié s'est écoulé.
param Ce paramètre permet d'indiquer le paramètre utilisateur à passer à la fonction utilisateur.

Retour

Valeur Description
NULL Cette valeur permet d'indiquer qu'une erreur s'est produite.
variable Ces valeurs permet d'indiquer que l'opération s'est correctement effectué. La valeur correspond à un identificateur de la minuterie généré.

Description

Cette fonction permet d'ajouter une minuterie avec un appel de fonction utilisateur après un nombre de millisecondes spécifiés.

Exemple

Voici un exemple permettant d'installer une fonction utilisateur s'exécutant à chaque seconde :

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <SDL/SDL.h>
  4.  
  5. Uint32 mafonction(Uint32 intervalle, void *param) {
  6.     SDL_Event evenement;
  7.     SDL_UserEvent evenementutilisateur;
  8.     memset(&evenementutilisateur,0,sizeof(evenementutilisateur));
  9.  
  10.     evenementutilisateur.type = SDL_USEREVENT;
  11.  
  12.     evenement.type = SDL_USEREVENT;
  13.     evenement.user = evenementutilisateur;
  14.  
  15.     SDL_PushEvent(&evenement);
  16.     return intervalle;
  17. }
  18.  
  19. int main()
  20. {
  21.     int param;
  22.     SDL_TimerID my_timer_id = SDL_AddTimer((33 / 10) * 100, mafonction, param);
  23.     return 0;
  24. }

N.B.: Ce programme est compilé avec l'option «-lSDLmain -lSDL» de l'IDE du programme Code::Blocks 10.05 situé dans «Project > Build options... > Debug > Linker settings > Other linker options:» ou en ligne de commande «gcc -lSDLmain -lSDL sdl_sample main.c». Sinon, la fonction «SDL_AddTimer» retournera un «undefined reference to 'aa_autoinit'» lors de la liaison du programme. De plus, une bibliothèque de développement comme «libsdl1.2-dev» devrait être installé.

Voir également

Langage de programmation - C pour Linux - Référence procédures et fonctions- SDL_RemoveTimer
Langage de programmation - C pour Linux - Référence procédures et fonctions- SDL_PushEvent

Dernière mise à jour : Dimanche, le 22 mars 2015