Probleme Majuscule KeyListener Java
Résolu
evan...
Messages postés
59
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
Je suis actuellement Entrain de Coder un petit jeu en Java genre Mario.
Voici mon problème :
Enfaite, tout fonctionne mais quand je lance mon application,
je ne peux faire bouger mon personnage Qu'avec les touches en majuscule.
Par exemple, pour aller à droite, Je ne pourrait pas faire "d" mais "D".
Y a t-il une alternative au KeyEvent qui gère les Majuscules ou autre ?
Merci D'avance et excusez moi si la question est un peu Nul je débute :).
Je suis actuellement Entrain de Coder un petit jeu en Java genre Mario.
Voici mon problème :
if(KeyEvent.VK_D == e.getKeyChar()){
int y = pan.getPosY();
int x = pan.getPosX();
pan.setPosY(y);
pan.setPosX(x+10);
pan.repaint();
}
Enfaite, tout fonctionne mais quand je lance mon application,
je ne peux faire bouger mon personnage Qu'avec les touches en majuscule.
Par exemple, pour aller à droite, Je ne pourrait pas faire "d" mais "D".
Y a t-il une alternative au KeyEvent qui gère les Majuscules ou autre ?
Merci D'avance et excusez moi si la question est un peu Nul je débute :).
3 réponses
-
Essayes d'utiliser getKeyCode() pour faire ta comparaison plutôt que getKeyChar().
-
Salut, peut être en essayant de tester la fonction e.getKeyCode(), 'au debut l'écrire simplement dans ton KeyListner, pour voir ce que retourne d en majuscule et en minuscule, puis tester de cette manière:
//au hasard if(e.getKeyCode()==345||e.getKeyCode()==346){ }
Ca fait un petit moment que j'ai pas fais de java donc c'est peut être pas la bonne solution. Mais la variable public VK_d, elle doit exister. non???
if(KeyEvent.VK_D == e.getKeyChar()||KeyEvent.VK_d == e.getKeyChar()){ int y = pan.getPosY(); int x = pan.getPosX(); pan.setPosY(y); pan.setPosX(x+10); pan.repaint(); } -
Merci beaucoup KX, c'est en effet getKeyCode() et non pas getKeyChar() !
Je ne comprend pas tellement la différence mais Bon, ... sa marche :).
Dariumis, Non la variable VK_d n'existe pas, mais merci quand même.
Bonne Soirée.