begin process at 2010 03 21 14:58:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

OpenGL

 > 

Appui long sur une touche


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Appui long sur une touche

jeudi 2 mars 2006 à 11:03:39 | Appui long sur une touche

pofipofo

Bonjour,
J'ai réalisé le jeu Pong sous OpenGL.
Tout fonctionne sauf un truc...l'appui long sur les touches!
On joue à 2, lorsque quelqu'un reste appuyé sur une touche et que l'autre essaye de faire pareil, l'une des raquettes se bloque!
Comment réussir à gerer deux appuis long simultanément?

Merci!
jeudi 2 mars 2006 à 12:29:13 | Re : Appui long sur une touche

luhtor

Les fonctions que tu utilises pour la clavier ne sont pas les bonnes. Mais si tu précises pas avec quoi tu fais de l'opengl, on peut pas t'aider.


jeudi 2 mars 2006 à 12:37:41 | Re : Appui long sur une touche

kortin

Tu utilises le principe de l'incrémentation à chaque événement clavier, ce n'est pas une bonne méthode.
Il est plus judicieux de capter uniquement quand la touche est presser ou relacher. Comme ça, tu as juste à ajouter un timer, et tu verifie si la touche est appuyée ou non, et tu agis en conséquence. Ainsi, si plusieurs touche sont préssées simultanément, ça marche.

Donnes des nouvelles !

jeudi 2 mars 2006 à 14:14:00 | Re : Appui long sur une touche

pofipofo

ouais ca doit etre ca le probleme!!!
peux tu m'expliquer comment faire ça?
Merci

Sinon j'utilise Dev CPP.
Voila un peu a quoi ressemble mon prog :

// fonction de call-back pour la gestion des événements clavier

GLvoid window_key(unsigned char key, int x, int y)
{  
  switch (key) {    
  case 0x1b:  
    exit(1);                    
    break;
  
  case 0x2b: // touche +
    if (vitesse<1.5 && vitesse>=0.5)  
      vitesse=vitesse+0.5;        
    break;
jeudi 2 mars 2006 à 14:14:59 | Re : Appui long sur une touche

pofipofo

  case 'a': case 'A':
    if(pos_raq1_y+3<=16){  
      pos_raq1_y+=2;
      glutPostRedisplay();}    
    break;
  
  case 'q': case 'Q':
    if(pos_raq1_y-3>=-16){
      pos_raq1_y-=2;
      glutPostRedisplay();}    
    break;
jeudi 2 mars 2006 à 14:19:43 | Re : Appui long sur une touche

kortin


tu gardes une variable globale pour chaque touche.

exemple

bool touche_A;

GLvoid window_key(unsigned char key, int x, int y)
{  
  switch (key) { 
case 'a': case 'A':
    touche_A= true;
      glutPostRedisplay();}    
    break;
}


OnTimer() //toute les 20 millisecondes
{
   if(touche_A)
      {
         if(pos_raq1_y+3<=16){   
         pos_raq1_y+=2;
      }
      

}


et faut aussi capter quand la touche est relachée
jeudi 2 mars 2006 à 15:03:25 | Re : Appui long sur une touche

luhtor

Attention, il ne faut pas utiliser la fonction glutKeyboard, mais glutSpecialFunc et glutSpecialUpFunc qui vont etre appelé lorsqu'une touche est appuyée et relachée.


Cette discussion est classée dans : long, touche, appui


Répondre à ce message

Sujets en rapport avec ce message

Simuler l'appui de la touche F11 pour le plein écran sous Internet Explorer en Java [ par astrolynx ] Meilleurs voeux à tous, et à ceux que vous aimez ou appréciez...Question :Je souhaite afficher mon site en plein écran dès la connexion.Je connais la Appui sur touche, si simple et pourtant... [ par supergrey ] Bonjour tout le monde, j'ai un petit probleme, pour tester l'appui sur une touche.Voila ce que je fais:switch( uMsg){ case WM_KEYDOWN: Appui Touche Terminal Linux [ par LordBob ] Bonjour a tous,voila dans le but d'automatiser le copie de fichier systeme sous linux, j'aimerais savoir comment pour simuler l'appuie sur les touches simulation touche [ par flatou ] salut a tousj'ai parcouru les sujets concernant la simulation d'appui d'une touche sur le clavier, mais pas de reponse precise.je cherche a simuler l' faire la meme chose que lorsque l'on appui sur une touche du clavier [ par grogillou ] Je vous expliaue en gros mon probleme, j'ai creer (pas d'accent ici, desole) un fenetre avec un clavier (chaque touche est represneter par un bouton r Récupérer l'appui de la touche supp [ par titi4659 ] Bonjour,je souhaiterai dans mon application, que lorsque l'utilisateur appuie sur la touche 'supp' du clavier il exécute ce que je souhaite.j'ai fais appui court & long sur un bouton [ par wooshoo ] Bonjour,Je souhaiterais gerer l'appui court & l'appui long sur des boutons en MFC mais je ne sais pas quel est le meilleur moyen.Je pensais récuperer Effacer une image avec SDL en C [ par flofloo ] slt tout le mondevoici mon probleme j'ai realiser un petit prog qui affiche une image a l'appui de la touche "x" et maintenant je voudrais faire le co Simulation d'appui sur touche pas reconnu partout [ par ghostichou ] Voilà j'explique mon problème :)En gros je veux tout simplement simuler l'appuie sur la touche "fleche du haut" dans un jeu.Donc j'ai ce code là :     Quitter programme console si appui touche... [C] [ par matad0r ] Bonjour!Alors voilà, j'ai un petit chat console en C et j'aimerai que lorsque l'utilisateur appui sur "Echap" ou une autre touche, le programme se fer


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,342 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales