Les Allergies
Alimentaires
Posez votre question Signaler

Librairie SDL et gestion des évènements

Blackeagle57 135Messages postés 21 avril 2008Date d'inscription 31 mars 2010Dernière intervention - Dernière réponse le 15 janv. 2009 à 21:33
Salut à tous ^^
Comme j'ai dit dans le titre, j'ai un problème en ce qui concerne une fonction SDL pour la gestion des évènements....
En fait j'apprends avec le site du zero ^^
Dans le tutoriel, il est indiqué que pour la gestion des évènements, il faut faire une boucle infinie :
int continuer = 1;
while (continuer)
{
/* Traitement des évènements */
}
Et ensuite, on peut (dans le while) utiliser des fonctions, comme SDL_WaitEvent .
D'après la description du tutoriel, cette fonction "attend qu'un évènement se produise. Cette fonction est dite bloquante car elle suspend l'exécution du programme tant qu'aucun évènement ne s'est produit."
Mais alors, si elle est si bloquante que sa ;-), pourquoi a-t'on besoin d'une boucle while ?
Ne pourrait-on pas juste mettre SDL_WaitEvent et ensuite faire un switch pour connaitre l'evenement qui a eu lieu ?
Lire la suite 

Librairie SDL et gestion des évènements »

1 réponses
Réponse
+0
moins plus
Je ne connais pas SDL, mais c'est toujours pareil avec la programmation événementielle.
Oui la fonction 'SDL_WaitEvent' est bloquante (Wait Event = attendre événement) et pourtant on la met dans une boucle infinie, pourquoi ?
1) on attend qu'un événement se produise (de toute façon, en général, on a rien à faire pendant ce temps-là, sinon il faut utiliser une autre fonction d'attente)
2) on traite l'événement qui s'est produit et retour en 1)
Tu vas me dire: on n'en sort jamais ?
Eh oui tu as raison, on n'en sort jamais... sauf quand l'utilisateur le demandera et qu'en traitant l'événement associé à cette demande, on sort de la boucle (break ou return ou exit).
Ajouter un commentaire
Ce document intitulé « Librairie SDL et gestion des évènements » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?