IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Problème avec les coordonnées relatives de la souris


Sujet :

SDL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 55
    Points : 34
    Points
    34
    Par défaut Problème avec les coordonnées relatives de la souris
    Salut,
    J'ai un problème avec la récupération des coordonnées relatives de la souris : même quand ma souris ne bouge pas, SDL envoie quand même sans arrêt des "events" de type SDL_MOUSEMOTION et event.motion.xrel et event.motion.yrel contiennent une valeur (souvent 1,-1 ou 512), si bien que même quand on ne bouge pas la souris (pour se tourner dans mon jeu) le monde tourne.

    Extrait de mon cs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     while( (!done) )
     {
      SDL_PollEvent(&event);
      switch(event.type)
      {
        case SDL_MOUSEMOTION:
         printf("%d\n",event.motion.xrel);
        break;
      }
      ...
     }
    Je ne fais rien à la souris, et pourtant ce code affiche par exemple :
    112
    112
    112
    112
    ...

  2. #2
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Bonsoir,

    SDL_PollEvent a comme signature :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int SDL_PollEvent  (SDL_Event *event);
    Ce n'est pas pour rien que cette fonction retourne un entier. Si elle retourne 0, alors il n'y a pas de nouvel événement et rien de spécifie le contenu de event.

    Donc, dans ton cas, il n'y a pas eu de nouvel événement et event n'a pas changé. Donc il y a des affichage car le reste du code pense qu'il y a eu un nouvel événement.

    C'est pour cela qu'on met le code de gestion des événements dans une boucle et comme condition de boucle on met l'appel de SDL_PollEvent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     while( (!done) )
     {
      while(SDL_PollEvent(&event))
       {
       switch(event.type)
        {
         case SDL_MOUSEMOTION:
          printf("%d\n",event.motion.xrel);
         break;
         case ...:
           ....
        }
       }
      ...
     }
    Jc

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 55
    Points : 34
    Points
    34
    Par défaut
    Que dire ... excellentissime, ça règle mon problème et bien d'autres petits bugs. Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Construire un rayon avec les coordonnées de la souris
    Par mister3957 dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 15/01/2009, 21h52
  2. [wxpython] problème avec les événements souris
    Par kalimero dans le forum wxPython
    Réponses: 2
    Dernier message: 13/11/2005, 15h42
  3. Problème avec les apostrophes
    Par misterbillyboy dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/07/2003, 16h39
  4. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 15h44
  5. []Problème avec les formulaires Outlook
    Par davidinfo dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo