Bonjour, je fais un programme graphique dans lequel mon KeyListener modifie les variables d'un tableau.Cependant, mon Listener traite plus rapidement cette saisie que le rafraichissement de mon canvas.
Je peus donc créer un Thread qui va copier sur un nouveau tableau les variables du précédent tableau: mais si je dépasse la pulsation du Thread, je doit réinitialiser le premier tableau pour avoir la fluidité!
Sinon je peus mettre une condition sur l'écriture du tableau en milisecond pour ajuster le changement des variables à mon canvas(j'ai pas trop envis)!
Et en dernier, ce que je me demande; est ce qu'il y a une commande pour ralentir mon Thread KeyListener ou est ce qu'il y a une façon d'implementer mon KeyListener dans un deuxième Thread.
public class OutputListener implements KeyListener{
DrawScreen draw;
Camera camera;
public OutputListener(DrawScreen draw){
this.draw=drawGL;
camera=new Camera();
}
public void keyPressed(KeyEvent keyevent){
if (keyevent.getKeyCode()==KeyEvent.VK_ESCAPE){
System.exit(0);
}
if (keyevent.getKeyCode()==KeyEvent.VK_UP){
camera.addtoCameraPosition(1,0,0);
}
if (keyevent.getKeyCode()==KeyEvent.VK_DOWN) {
camera.addtoCameraPosition(-1,0,0);
}
if (keyevent.getKeyCode()==KeyEvent.VK_LEFT) {
camera.addtoCameraPosition(0,-1,0);
}
if (keyevent.getKeyCode()==KeyEvent.VK_RIGHT) {
camera.addtoCameraPosition(0,1,0);
}
draw.genCameraPosition(camera.cameraPosition);
}
public void keyReleased(KeyEvent keyevent){}
public void keyTyped(KeyEvent keyEvent){}
}
Partager