joduak
Messages postés194Date d'inscriptionlundi 11 juillet 2005StatutMembreDernière intervention13 avril 2007
-
28 avril 2006 à 18:24
joduak
Messages postés194Date d'inscriptionlundi 11 juillet 2005StatutMembreDernière intervention13 avril 2007
-
29 avril 2006 à 20:17
Salut!
Voilà je développe un jeu de plateau, et j'ai un problème au niveau des commandes de déplacements des personnages.
Si par exemple 2 joueurs jouent sur le même clavier et que ces 2
joueurs appuient sur la touche de déplacement haut de leur personnage
pendant 5 secondes (exemple) il n'y a qu'un personnage qui va se
déplacer sur le plateau, l'autre étant bloqué!!
La saisie des touches se fait avec KeyPressed(e)...
Comment gérer cette simultanéité de déplacement ? Quelle fonction dois-je utiliser?
scaryman
Messages postés492Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention16 mai 200712 29 avril 2006 à 15:29
Re
Ben j'ai bien réfléchi à ton problème (qui m'intéresse aussi) et je me suis rendu compte que l'utilisation de plusieurs threads serait assez compliquée donc je me suis tourné vers une autre solution : au lieu d'utiliser en masse keyPressed, utiliser keyReleased :
1) créer une table
2) quand keyPressed recoit un événement, tu ajoutes la touche dans cette table
3) quand keyReleased recoit un événement, tu retires la touche de cette table
4) à chaque moment (avec un Thread), tu vérifies quelles touches sont inscrites dans la table et tu agis sur ton jeu en csq