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

  1. #1
    Futur 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
    Points : 6
    Points
    6
    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 é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 : 43
    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
    - 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
    Futur 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
    Points : 6
    Points
    6
    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 é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 : 43
    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
    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
    Futur 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
    Points : 6
    Points
    6
    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
    Futur 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
    Points : 6
    Points
    6
    Par défaut
    je vien de voir le message j'utilise comment glutKeyboardFunc ?

  7. #7
    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 : 43
    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
    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

  8. #8
    Futur 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
    Points : 6
    Points
    6
    Par défaut
    key est défini en int

  9. #9
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Citation Envoyé par naruto70
    key est défini en int
    Certes... Mais sa valeur elle vient d'où ?

  10. #10
    Futur 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
    Points : 6
    Points
    6
    Par défaut
    je viens de comprendre
    en faite elle vient de nul par c'est pour sa que sa marche pas
    je viens de rectifier
    merci beaucoup

  11. #11
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Points : 628
    Points
    628
    Par défaut
    je pensais à un truc, tu écris un livre où tu va décrire une boucle comme étant une boucle d'oisiveté, mais c'est une appellation qui t'est personnelle, hors comme tu écris un livre tu diffuse du savoir, ce qui te rend responsable moralement^^ auprès des débutants et l'idéal ce serait de leur transmettre une appellation standard pour une boucle, l'appellation que tous les programmeurs utilisent en général, en programmation c'est mieux que chacun ne s'invente pas des mots pour une boucle ou pour un switch ou autre, ou s'il le fait il le garde pour lui il ne transmet pas ses propres termes aux débutants.
    Cliquez ici et reprenez le pouvoir !
    A bas IE !, Google, et le pistage du net, testons DuckDuckGo.com
    Lords Of The Realm II Download : Lords of the realm 2
    Infos en anglais :Ici

  12. #12
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 814
    Points : 7 642
    Points
    7 642
    Par défaut
    Ouahou, ce déterrage de topic de la mort!!!

    Quasiment deux ans après, sur un sujet résolu, c'est pas mal... en plus un peu hors-sujet, vu la question (et la solution!), il n'était pas en train d'écrire un livre... plutôt en train de le lire...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

+ 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