J'ai donc besoin d'aide pour que mon personnage bouge plus facilement. Le problème est que le personnage bouge d'un pixel lorsque j'appuie sur une touche et après environ une seconde, il court "en douceur" après cela. Comment puis-je le réparer pour ne pas avoir à attendre une seconde et qu'il fonctionne correctement depuis le début ? J'apprécie toute aide et merci d'avance !
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.GREEN);
g.fillRect(x, y, 30, 30);
update();
}
private boolean[] KB = new boolean[4];
public void update(){
if(KB[0] = true)
{
y -= 10;
}
if(KB[1] = true)
{
x -= 10;
}
if(KB[2] = true)
{
y += 10;
}
if(KB[3] = true)
{
x +=10;
}
repaint();
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_W)
{
KB[0] = true;
}
if(e.getKeyCode() == KeyEvent.VK_A)
{
x -= 10;
}
if(e.getKeyCode() == KeyEvent.VK_S)
{
y += 10;
}
if(e.getKeyCode() == KeyEvent.VK_D)
{
x += 10;
}
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
if(KB[0] = true)
devrait êtreif(KB[0] == true)
? ou justeif(KB[0])
- person samgak   schedule 08.05.2017keyPressed
? PS : Appeler repaint() danspaintComponent
n'est probablement pas non plus la meilleure idée - person AxelH   schedule 08.05.2017Swing Timer
pour contrôler l'animation. Voir Motion à l'aide du clavier. L'exempleKeyboardAnimation.java
montre comment utiliser unSwing Timer
pour une animation fluide que vous pouvez contrôler. - person camickr   schedule 08.05.2017