KeyListener, problème avec le 2 eme joueur

tchern007 Messages postés 10 Date d'inscription mercredi 15 octobre 2003 Statut Membre Dernière intervention 19 mai 2007 - 19 mai 2007 à 03:21
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 - 19 juil. 2007 à 11:20
Bonjour,


J'éxplique un peu le contexte, j'ai projeté de faire un bomberman à ma sauce mais je me heurte à un petit problème meme deux.


Le premier souci ce produit quand je reste appuié sur une touche. Comme
dans un logiciel de texte si l'on reste appuyé sur une touche, la
premiere lettre s'affiche et apres un court laps de temps les autres
lettres apparaissent les une apres les autres.

Je souhaiterais ne pas avoir ce laps de temps mais je n'y arrive pas apres plusieur essais infructueux :s


Mon deuxieme problème surviens quand 2 joueurs jouent ensemble si l'un
des joueurs reste appuyé sur une des ses touches l'autre joueur ne peu
plus effectué d'action ce qui est un peu embetant.


A chaque fois que je tente quelque chose mon listener ne fonctionne
plus, je n'est plus vraiment d'idee et il est dur de trouver les mots
clefs pour google


Si jamais quelqu'un a résolue ce problème je veux bien quelques conseils

3 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 mai 2007 à 07:54
passe par des variables : le listener t'indique lorsqu'une touche est appuyée ou relâchée, c'est tout !

Donc l'idée, c'est de passer une variable booléene à true lorsqu'une touche est préssée, puis la repasser à false lorsqu'elle est relâchée, et du coup, tester l'état de la variable et non se baser sur les évent de ton listener.
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
19 mai 2007 à 11:48
0
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
19 juil. 2007 à 11:20
J'ai eu ce souci aussi pour mon tetris, passer par des variables est une bonne idée, mais elle est dépendante d'une fréquence de lecture de cette variable

si tu lis cette variable à chaque repaint(), etc ... la sensibilité changera, moi j'ai utilisé un autre système, certes peu économe mais qui marche bien

j'ai un thread pour chaque action (descendre, gauche, droite, ...) qui appelle la méthode correspondante toutes les x ms

ensuite sur un KeyPressed, je regarde si le thread est lancé ou pas, si non je le lance
et sur un KeyReleased, j'arrete le thread correspondant

l'avantage est que je sais exactement à quelle fréquence l'évènement se produira, et ce indépendamment du matériel, du système...
0
Rejoignez-nous