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 :
- #include <stdio.h>
- #include <stdlib.h>
- #include <SDL/SDL.h>
-
- Uint32 mafonction(Uint32 intervalle, void *param) {
- SDL_Event evenement;
- SDL_UserEvent evenementutilisateur;
- memset(&evenementutilisateur,0,sizeof(evenementutilisateur));
-
- evenementutilisateur.type = SDL_USEREVENT;
-
- evenement.type = SDL_USEREVENT;
- evenement.user = evenementutilisateur;
-
- SDL_PushEvent(&evenement);
- return intervalle;
- }
-
- int main()
- {
- int param;
- SDL_TimerID my_timer_id = SDL_AddTimer((33 / 10) * 100, mafonction, param);
- return 0;
- }
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