Le problème n'est pas aussi simple que je le décrirai, mais le paradigme est assez similaire. Donc, disons que j'ai fait cette méthode avec une boucle while qui continuera à fonctionner aussi longtemps que la valeur de x < 100. Et x ne sera incrémenté de 1 que si la barre d'espace est enfoncée. Comment ferais-je exactement cela?Java - Comment "rafraîchir" l'événement clé et l'appeler à nouveau dans une boucle while
Ce que j'ai écrit est le suivant:
public void keyPressed(String key){
//assume that x = 0
while(x < 100){
if(key.equals("Space")){
x += 1;
}
}
}
Je sais, je sais. Mon code incrémentera continuellement x même en appuyant une seule fois sur la barre d'espace. C'est parce que la valeur de la clé restera la même tout au long de la boucle. Ce qui doit être fait est "rafraîchir" la valeur de la clé, et déclencher un autre événement clé en appuyant sur la barre d'espace. Je n'ai aucune idée de comment faire ça. Toute suggestion serait grandement appréciée.
keyPressed
est défini dans une autre classe:
public void keyPressed(KeyEvent e) {
String key = KeyEvent.getKeyText(e.getKeyCode());
for (GameObject go : gameobjects) {
go.keyPressed(key);
}
}
Cela ressemble à vouloir créer une partie. Utilisez-vous une sorte de cadre? – Nessuno