SDL_UserEvent

Fermé
gasmi6786 Messages postés 12 Date d'inscription samedi 27 octobre 2012 Statut Membre Dernière intervention 16 avril 2013 - 8 nov. 2012 à 11:01
gasmi6786 Messages postés 12 Date d'inscription samedi 27 octobre 2012 Statut Membre Dernière intervention 16 avril 2013 - 8 nov. 2012 à 15:29
Bonjour,

la structure de SDL_UserEvent est la suivante:
typedef struct{
Uint8 type;
int code;
void *data1;
void *data2;
} SDL_UserEvent;
svp comment utiliser data1 et data2.
un exemple bien détaille si possible
cordialement.

1 réponse

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
8 nov. 2012 à 14:15
void* est utiliser ici pour représenter un pointeur non typé. C'est à dire que tu peux mettre n'importe quoi dedans, mais que pour l'utiliser il faut que tu saches ce que c'est. Par exemple, si tu as une fonction qui incrémente le score :
int increScore(SDL_UserEvent *ev)
{
    switch (ev->type)
    {
     case ENNEMI_TUE :
          score+=( (ennemi*) ev->data1)->recompense;
          break;
     case ITEM_RAMASSE :
          score+=( (item*)ev->data1)->valeur;
...

C'est à dire que ton personnage ramasse un item ou tue un ennemi, un évènement est créé, mais cet évènement ne contient pas les mêmes données, mais font appel à la même fonction pour incrémenter le score.
0
gasmi6786 Messages postés 12 Date d'inscription samedi 27 octobre 2012 Statut Membre Dernière intervention 16 avril 2013
8 nov. 2012 à 15:29
merci char snipeur :)
0