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

GLUT Discussion :

Probleme avec glutKeyboardFunc


Sujet :

GLUT

  1. #1
    Membre confirmé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 096
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 096
    Points : 633
    Points
    633
    Par défaut Probleme avec glutKeyboardFunc
    Bonjour,

    J'ai probleme avec cette fonction de Glut.


    Je souhaite afficher une forme suivant la touche pressée (touche '1' pour forme1, touche '2' pour forme2, ....)

    Malheureusement quand j'appuie sur une touche rien ne se passe (sauf quand, je quitte via la touche echappe qui appelle la fonction exit(0).

    J'ai voulu verifier que la fonction etait bien appelée via un printf qui affiche sur la sortie standard.

    Quand j'appuie sur les touches, rien ne s'affiche tant que ne quitte pas l'application.

    Je ne vois pas d'où ca peut venir dans le sens où j'applique un bete tutorial...

    Si vous voulez plus de precisions, n'hesitez pas.

    Merci.
    F.

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    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 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Vous utilisez GLUT, ou freeGLUT ?
    Sinon, j'imagine que les printf n'affichaient rien. Est ce que vous avez un pavé numérique, ou vous utilisez les shift + & ... ?
    Pouvons nous voir un peu de code ?
    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.

  3. #3
    Membre confirmé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 096
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 096
    Points : 633
    Points
    633
    Par défaut
    Salut,

    Merci de ta réponse.

    En faite, j'utilise Glut

    En faite, comme j'avais marqué, c'est comme si les printf se mets en tampon et que lorsque le programme sort, ca affiche le contenu du tampon d'un coup.

    Sinon, j'utilise les shift + &.

    Ca fait pareil pour les touches spéciales....

    Ca c'est pour les touches spéciales.
    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
    16
    17
    18
    19
    20
    void
    Skeyboard(int key, int v, int u)
    {
      switch (key)
      {
      case GLUT_KEY_LEFT:
           x = x - 1.f;
           break;
      case GLUT_KEY_RIGHT:
           x = x + 1.f;
           break;
      case GLUT_KEY_UP:
           view.reference += 1.f;
           break;
      case GLUT_KEY_DOWN:
           y = y - 1.f;
           break;
     }
      glutPostRedisplay();
    }
    Ca c'est pour les touches normales.
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    void
    keyboard (unsigned char key, int v, int u)
    {
      switch (key)
        {
        case 27: // escape
          exit(0);
          break;
        case '1': // King
          selection = KING;
          break;
        case '2': // Queen
          selection = QUEEN;
          break;
        case '3': // Bishop
          selection = BISHOP;
          break;
        case '4': // Knight
          selection = KNIGHT;
          break;
        case '5'://Rook
          selection = ROOK;
          break;
        case '6':// Pawn
          selection = PAWN;
          break;
        case 'r':
          ry = ry + 1.0;
          break;
        case 't':
          ry = ry - 1.0;
        }
     
    glutPostRedisplay();
    }

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    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 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    De mémoire, le unsigned char key renvoyer par la fonction, ne correspond pas obligatoirement au code ascii. Il faut afficher le code, avant même de tenter de faire les comparaisons (enfin, c'est l'impression que j'ai eu).
    De plus, il se peut qu'il faille faire un code spécifique à cause du shift (car le shift est considéré comme touche spéciale et il y a un callback spécifique pour les touches spéciales)
    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.

  5. #5
    Membre confirmé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 096
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 096
    Points : 633
    Points
    633
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    De mémoire, le unsigned char key renvoyer par la fonction, ne correspond pas obligatoirement au code ascii. Il faut afficher le code, avant même de tenter de faire les comparaisons (enfin, c'est l'impression que j'ai eu).
    De plus, il se peut qu'il faille faire un code spécifique à cause du shift (car le shift est considéré comme touche spéciale et il y a un callback spécifique pour les touches spéciales)
    Salut,

    Excuse pour le retard.

    En faite, le callback pour les touches spéciales appelle c'est le SKeyboard.

    Au final, j'ai reussi, je ne sais pas encore comment....j'ai re-compilé et pouf ca marche.

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

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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