Hallo ich bins mal wieder,
Klasse Schlange:
Klasse Fenster
So nun zu meiner Frage. Aus welchem Grund kann ich die Schlange trotz des KeyListeners nicht bewegen? Würde mich über Antworten freuen!
PS: Ich erhalte keine Fehlermeldung.
Mfg, Zitrus
Klasse Schlange:
Java:
package snakegame;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
public class Fenster extends JFrame implements KeyListener {
int x = 50;
int y = 50;
int width = 20;
int height = 10;
Schlange s1;
KeyEvent e;
public static void main(String[] args) {
Fenster fenster = new Fenster();
}
public Fenster() {
s1 = new Schlange();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setBackground(Color.WHITE);
setTitle("SnakeGamev0.1");
setSize(400,300);
getContentPane().add(s1);
addKeyListener(this);
setVisible(true);
}
public void keyTyped(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_D) {
while (x<= 500) {
x += 1;
}
}
else if(e.getKeyCode() == KeyEvent.VK_A) {
x -= 1;
}
else if(e.getKeyCode() == KeyEvent.VK_W) {
y -= 1;
}
else if(e.getKeyCode() == KeyEvent.VK_S) {
y += 1;
}
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_D) {
while (x<= 500) {
x += 1;
}
}
else if(e.getKeyCode() == KeyEvent.VK_A) {
x -= 1;
}
else if(e.getKeyCode() == KeyEvent.VK_W) {
y -= 1;
}
else if(e.getKeyCode() == KeyEvent.VK_S) {
y += 1;
}
}
public void keyReleased(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_D) {
while (x <= 500) {
x += 1;
}
}
else if(e.getKeyCode() == KeyEvent.VK_A) {
x -= 1;
}
else if(e.getKeyCode() == KeyEvent.VK_W) {
y -= 1;
}
else if(e.getKeyCode() == KeyEvent.VK_S) {
y += 1;
}
}
}
Klasse Fenster
Java:
package snakegame;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
public class Fenster extends JFrame {
int x = 50;
int y = 50;
int width = 20;
int height = 10;
Schlange s1;
KeyEvent e;
public static void main(String[] args) {
Fenster fenster = new Fenster();
}
public Fenster() {
s1 = new Schlange();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setBackground(Color.WHITE);
setTitle("SnakeGamev0.1");
setSize(400,300);
getContentPane().add(s1);
setVisible(true);
}
}
So nun zu meiner Frage. Aus welchem Grund kann ich die Schlange trotz des KeyListeners nicht bewegen? Würde mich über Antworten freuen!
PS: Ich erhalte keine Fehlermeldung.
Mfg, Zitrus
Zuletzt bearbeitet: