Не могу пойти прямо на KeyListenerJAVA

Программисты JAVA общаются здесь
Anonymous
Не могу пойти прямо на KeyListener

Сообщение Anonymous »

Я делаю пространство захватчика для школьного проекта, и когда я пытаюсь использовать ключ D, чтобы сделать его правильно, он не делает PNG правильно, это код для перемещения png < /p>

Код: Выделить всё

public PannelloGioco() {
setBackground(Color.BLACK);
navicella = new Navicella(350, 500); // Posizione iniziale della navicella

//metodo per gestire gli input da tastiera
addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
if (keyCode == KeyEvent.VK_D) {
navicella.Sinistra();
} else if (keyCode == KeyEvent.VK_A) {
navicella.Dstra();
} else if (keyCode == KeyEvent.VK_W) {
navicella.Sopra();
} else if (keyCode == KeyEvent.VK_S) {
navicella.Sotto();
}
repaint();  // faccio il repaint dopo ogni azione
}
});

// Aziono il focus per poter ricevere gli eventi da tastiera
setFocusable(true);
}

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);  // Pulisce il pannello
navicella.draw(g);  // Disegna la navicella
}`
< /code>
И это логика для того, чтобы он двигаться < /p>
public void Sinistra() {
//metodo per spostare la navicella a sinistra
if (x > 0) {
x -= speed+10;
}
}

public void Dstra() {
//metodo per spostare la navicella a destra
if (x + larghezza > 800) {
x -= speed+10;
}
}

public void Sopra() {
if (y > 0) {
//metodo per spostare la navicella sopra
y -= speed+10;
}
}

public void Sotto() {
if (y + altezza < 600) {
//metodo per spostare la navicella sotto
y += speed+10;
}
}
idk, что делать для того, чтобы сделать это правильно, я попытался сделать печать для печати позиции x, но она вообще не движется

Подробнее здесь: https://stackoverflow.com/questions/795 ... eylistener

Вернуться в «JAVA»