[Gestion du clavier] Mouvement fluide ?

Mouvement fluide ? [Gestion du clavier] - Java - Programmation

Marsh Posté le 21-06-2006 à 18:23:15    

Bonjour a tous!
 
Voila je suis en train de coder un petit programme ou je fais bouger un personnage dans une fenetre a l'aide du clavier.
 
J'ai donc utilisé le KeyListener pour gerer le clavier, voila le bout de code correspondant :
 

Code :
  1. public void keyPressed(KeyEvent e)
  2.      {
  3.         if(e.getKeyCode()==KeyEvent.VK_Q)
  4.             perso_x -= 10;
  5.        
  6.         if(e.getKeyCode()==KeyEvent.VK_D)
  7.             perso_x += 10;
  8.        
  9.         if(e.getKeyCode()==KeyEvent.VK_S)
  10.             perso_y += 10;
  11.        
  12.         if(e.getKeyCode()==KeyEvent.VK_Z)
  13.             perso_y -= 10;
  14.      }


 
Tout marche bien mais je me pose une question : lorsque j'appuie sur une touche et que je laisse appuyé, il y a un temps d'attente entre le premier mouvement, et les suivants, comment faire pour que le mouvement de mon personnage soit fluide des l'instant ou j'appuie sur la touche?
J'ai l'impression que lorsque je laisse enfoncer, la machine interprete ca comme si j'appuyais a intervalle regulier sur la touche, et non comme si elle etait préssée en continu...
 
Quelqu'un a une idée?
 
Merci!

Reply

Marsh Posté le 21-06-2006 à 18:23:15   

Reply

Marsh Posté le 21-06-2006 à 20:51:14    

faut mettre un evenement sur keydown et un sur keyup ...

Reply

Marsh Posté le 22-06-2006 à 01:25:21    

merci :)
 
j'avais resolu le pb sinon en mettant a jours des booleens suivant qu'on a un keyPressed ou keyReleased !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed