Voila alors je programme un jeu en java et le but est de déplacer un petit bonhomme sur une carte.
Je voudrais que ce bonhomme avance tant que je maintient une touche appuyée et qu'il s'arrete dés que je la relache.
J'ai associé les touches clavier à des actions par l'intermédiaire de l'actionMap de ma JFrame comme ceci:
Code :
- ActionMap am = getRootPane().getActionMap();
- am.put("close",act) ;
- InputMap im = getRootPane().getInputMap
- (JComponent.WHEN_IN_FOCUSED_WINDOW) ;
- im.put(KeyStroke.getKeyStroke(KeyEvent.VK_UP,0),"deplacementHaut" );
- am.put("deplacementHaut",new ActionDep(0,-1));
|
Ca marche le bonhomme bouge mais il ne s'arrete pas!
La JFrame doit recevoir plein d'évènements claviers et je ne sais pas comment les bloquer.
J'ai essayé avec des :
disableEvents(AWTEvent.KEY_EVENT_MASK);
disableEvents(AWTEvent.FOCUS_EVENT_MASK );
disableEvents(AWTEvent.ACTION_EVENT_MASK );
disableEvents(AWTEvent.COMPONENT_EVENT_MASK);
mais ca marche pas !!
Quelqu'un saurait-il comment ca marche ?