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 :

[clavier] Gérer le multitouche


Sujet :

SDL

  1. #1
    Membre habitué Avatar de PoZZyX
    Inscrit en
    Août 2005
    Messages
    426
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 426
    Points : 154
    Points
    154
    Par défaut [clavier] Gérer le multitouche
    Bonjour,

    Je suis très débutant en SDL et j'ai fait un ptit code qui dessine des pixel qui vont dans le sens ou j'appuie sur les touches fléchée.

    Par contre si j'appuie en haut et à gauche, ça va dans le sens de la dernière touche.

    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (evenement.key.keysym.sym == SDLK_UP && evenement.key.keysym.sym == SDLK_LEFT)
                        {
                            pos_y = pos_y - 1;
                            pos_x = pos_x - 1;
                            setPixel(pos_x,pos_y,couleurs[C_NOIR]);
                        }
    mais c'est pas mieux

    Y-a-t'il une astuce pour contourner ce problème ??

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    essaye plutôt avec un code qui ressemble à ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Uint8* keys = SDL_GetKeyState(NULL);
     
      /* Faire avancer personnage */
      if (keys[SDLK_UP]) {  pers->up();   }
      /* Faire reculer personnage */
      if (keys[SDLK_DOWN]) { pers->down();         }
      /* aller à gauche */
      if (keys[SDLK_LEFT]) { pers->bougeGauche();}
      /* aller à droite  */
      if (keys[SDLK_RIGHT]) { pers->bougeDroite();}
    en gros avec SDL_GetKeyState(NULL); tu recupère l'état de chacune des touches du clavier. Donc tu peut en gérer plusieurs simultanéments

    tu trouvera de l'aide plus précise et plus complète sur le site de SDL sur la gestion des évènements
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  3. #3
    Membre habitué Avatar de PoZZyX
    Inscrit en
    Août 2005
    Messages
    426
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 426
    Points : 154
    Points
    154
    Par défaut
    Merci beaucoup, ça marche à la perfection

    Merci

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

Discussions similaires

  1. Gérer les touches du clavier
    Par kevinou55 dans le forum Langage
    Réponses: 8
    Dernier message: 22/01/2008, 09h28
  2. Gérer les évenements clavier
    Par Telemak dans le forum NetBeans
    Réponses: 10
    Dernier message: 25/07/2007, 21h25
  3. Réponses: 1
    Dernier message: 01/11/2006, 18h03
  4. [SWING] gérer les entrées clavier à un seul endroit
    Par Isher dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 19/07/2006, 10h55
  5. Réponses: 5
    Dernier message: 25/07/2005, 09h29

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