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 :

utiliser les touches de déplacement


Sujet :

GLUT

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 9
    Par défaut utiliser les touches de déplacement
    bonjours à tous
    J'ai fait un programme en c++.
    A un momet je met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    switch(key)
    	{
    	case GLUT_KEY_RIGHT : { d = 1; break; }
    	case GLUT_KEY_UP : { d = 2; break; }
    	case GLUT_KEY_LEFT : { d = 3; break; }
    	case GLUT_KEY_DOWN : { d = 4; break; }
    	}
    Il est dans une boucle d'oisiveté donc elle est bien appelé. J'ai même ajouter cout << "bonjours"; et bonjours s'affiche à l'écran indéfiniment.
    Mon problème est que lorsque j'appuie sur les touches directionnelles, la variable d ne change pas et je ne sais pas pourquoi. si quelqu'un pourrait m'aider à résoudre se problème
    merci

  2. #2
    Expert confirmé

    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 : 45
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    - Lorsque tu dis une boucle d'oisiveté, tu veux dire quoi ?

    - Ta variable d est donc une variable globale ? Il faut limiter le nombre de variables globales dans ton code.

    - Où testes tu la valeur de d pour dire qu'elle ne change pas ?

    - Utilises-tu la fonction glutKeyboardFunc ?

    Jc

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 9
    Par défaut
    Sur un de mes livres (mon livre je n'en ai qu'un pour le moment) une boucle d'oisiveté est une boucle qui se répète plusieur fois par seconde. la variable d est la seul variable globale. je test d dans la boucle elle même juste après le switch j'ai mis cout << d; et d reste inchanger. j'ai d'abord pas initialiser d puis après je l'ai initialiser à 1 au tous début mais sa ne change pas. et non je n'utilise pas glutKeyboardfunc. (c'est peut-être la le problème) il en parle pas encor dans le livre. je suis pas sur mon pc pour le moment mais demain matin je pourrait donner plus de précision sur le code que j'ai écrit.

  4. #4
    Expert confirmé

    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 : 45
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par naruto70
    et non je n'utilise pas glutKeyboardfunc. (c'est peut-être la le problème)
    C'est effectivement là le problème, il faut utiliser cette fonction pour gérer le clavier.

    Comment obtiens-tu la valeur de key alors ?

    Jc

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 9
    Par défaut
    je suis sur mon ordi. Donc dans la fonction principale, j'ai sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    glutIdleFunc(choixD);
    	/* lancement de la boucle de traitement */
    	glutMainLoop();
    glutIdleFunc permet de traiter la fonction "choixD" et c'est dans cette fonction que j'ai le code du début pour pouvoir choisir une valeur de d en fonction de la flèche directionnel choisi. et non je n'utilise pas glutKeyboardFunc. C'est peut-être la l'erreur

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 9
    Par défaut
    je vien de voir le message j'utilise comment glutKeyboardFunc ?

  7. #7
    Expert confirmé

    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 : 45
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par naruto70
    je vien de voir le message j'utilise comment glutKeyboardFunc ?
    Non dans le code que tu as montré au début, tu fais un switch sur la valeur de key, comment est défini key ?

    Jc

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/05/2009, 19h06
  2. Utiliser les touches du clavier
    Par didy_gwatinik dans le forum Débuter
    Réponses: 1
    Dernier message: 25/10/2008, 17h27
  3. Utiliser les touches multimedias
    Par hebus44 dans le forum Linux
    Réponses: 1
    Dernier message: 13/08/2008, 02h18
  4. Quels caractères pour les touches de déplacement?
    Par Phelix2003 dans le forum MATLAB
    Réponses: 10
    Dernier message: 21/09/2007, 10h36
  5. Utiliser les touches flèche dans un controle Edit
    Par Henri dans le forum Windows
    Réponses: 6
    Dernier message: 26/05/2006, 22h32

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