SDL_UserEvent

gasmi6786 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
gasmi6786 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -
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 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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   Statut Membre Dernière intervention  
 
merci char snipeur :)
0