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 :

souris inactive avec la SDL


Sujet :

SDL

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

    Informations forums :
    Inscription : Novembre 2011
    Messages : 71
    Points : 38
    Points
    38
    Par défaut souris inactive avec la SDL
    bonjour,
    je débute en C et je suis un tutoriel langage C.
    j'utilise actuelement la SDL pour faire des programmes en fenêtre avec une gestion du clavier et de la souris.
    lorsque je lance mon programme le débugger me donne deux erreurs que je ne comprend pas.
    Voici le morceau de mon code qui ne va pas, j'y teste le valeur de "event.key.keysym.sym" affin de déplacer, par un clic, une image qui a pour coordonnées (position.x , position.y) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
                        case SDL_MOUSEBUTTONUP:
                            position.x = event.button.x - position.x / 2;
                            position.y = event.button.y - position.y / 2;
                            break;
                        default:
                            break;
    Le débugger me dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    attention : case value 6 not in enumerated type 'SDLKey' [-Wswitch]
    de plus je peux déplacer mon image avec le clavier sans problèmes mais aucune fonctionnalité de la souris semble être reconnue.
    merci de votre aide.

  2. #2
    Membre expérimenté Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 623
    Points : 1 551
    Points
    1 551
    Par défaut
    SDL_MOUSEBUTTONUP n'est pas un cas repris dans les énumérations qui permettent de tester les touches (les SDLK_...)

    Il fait partie de la même énumération que SDL_KEYDOWN (entre autre), à savoir les types de event.

    Donc, pour tester si l'utlisateur a relâché le boutton de la souris, il faut faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SDL_Event event;
     
    switch(event.type) {
      case SDL_KEYDOWN: ....; break;
      case SDL_MOUSEBUTTONUP:
         x=event.button.x;
         y=event.button.y;
        break;
      }
    Pour une information complète, par ici.

    Poste éventuellement un portion plus longue de ton code.

    Edgar.
    On écrit "J'ai tort" ; "tord" est la conjugaison du verbre "tordre" à la 3ème personne de l'indicatif présent

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Pour savoir si la souris se déplace il faut mieux regarder si le type correspond à SDL_MOUSEMOTION.

    Car SDL_MOUSEBUTTONUP ne correspond qu'à l'événement lorsque le bouton de la souris est relâché.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    merci edgarjacobs tout fonctionne parfaitement maintenant.
    merci a toi aussi LittleWhite.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/12/2005, 15h43
  2. probléme avec la sdl et c++
    Par wikers dans le forum OpenGL
    Réponses: 1
    Dernier message: 10/11/2004, 19h02
  3. Problème avec lib SDL
    Par Info-Rital dans le forum Linux
    Réponses: 8
    Dernier message: 02/07/2004, 20h59
  4. chargement de texture avec la SDL
    Par Fry dans le forum OpenGL
    Réponses: 7
    Dernier message: 27/05/2004, 15h31

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