Da ich hier neu in diesem Forum bin, erstmal ein freundliches Hallo an alle 
Java-Erfahrung habe ich schon 3 Jahre lang in der Schule sammeln können, ist aber trotzdem kein bahnbrechendes Wissen.
Nun zu meinem Problem.
Ich bin grade dabei ein kleines 2D Spiel zu programmieren, allerdings scheitert es schon an den einfachsten Dingen. Ich möchte gerne eine Grafik anzeigen(erledigt) und diese mit den Pfeiltasten über den Bildschirm bewegen. Dazu habe ich bereits eine Klasse "Input extends KeyAdapter" erzeugt und bei meinem MainPanel Runnable implementiert. Da ich jetzt nicht alles haarklein erklären möchte, zeig ich einfach mal was vom Quelltext
So das Problem ist jetzt, dass sich überhaupt nichts tut wenn ich die Pfeiltasten drücke. So wie es scheint, wird meine Klasse run genau 1 Mal ausgeführt, danach nicht mehr. Das sehe ich daran, dass meine Variable x nur 1 Mal über System.out ausgegeben wird. Nach einem Problem bei meinem KeyAdapter habe ich auch schon gesucht, aber nichts gefunden.
Bei meinem Abschlussprojekt habe ich alles genauso gemacht (denke ich jedenfalls) und da läuft es auch immernoch. Nur eben bei meinem neuen Programm nicht mehr so recht.
Ich wäre echt froh wenn mir dabei jemand helfen könnte.
mfg KICK
PS: Geht in diesem Forum kein
Java-Erfahrung habe ich schon 3 Jahre lang in der Schule sammeln können, ist aber trotzdem kein bahnbrechendes Wissen.
Nun zu meinem Problem.
Ich bin grade dabei ein kleines 2D Spiel zu programmieren, allerdings scheitert es schon an den einfachsten Dingen. Ich möchte gerne eine Grafik anzeigen(erledigt) und diese mit den Pfeiltasten über den Bildschirm bewegen. Dazu habe ich bereits eine Klasse "Input extends KeyAdapter" erzeugt und bei meinem MainPanel Runnable implementiert. Da ich jetzt nicht alles haarklein erklären möchte, zeig ich einfach mal was vom Quelltext
Java:
public class Input extends KeyAdapter{
@Override
public void keyPressed(KeyEvent e)
{
int key = e.getKeyCode();
System.out.println(key);
if (key == KeyEvent.VK_LEFT)
{
isRight = false;
isLeft = true;
}
if (key == KeyEvent.VK_RIGHT)
{
isLeft = false;
isRight = true;
}
if (key == KeyEvent.VK_UP)
{
isUp = true;
}
if (key == KeyEvent.VK_DOWN)
{
isDown = true;
}
}
public void keyReleased(KeyEvent e)
{
int key = e.getKeyCode();
if (key == KeyEvent.VK_LEFT)
{
isLeft = false;
}
if (key == KeyEvent.VK_RIGHT)
{
isRight = false;
}
if (key == KeyEvent.VK_UP)
{
isUp = false;
}
if (key == KeyEvent.VK_DOWN)
{
isDown = false;
}
}
}
Java:
public void run() {
if(isLeft==true)x-=2;
if(isRight==true)x+=2;
if(isUp==true)y-=2;
if(isDown==true)y+=2;
System.out.println(x);
while(this.isVisible())
{
repaint();
try
{
Thread.sleep(10); //WICHTIG FÜR FPS DEBUGGING
}
catch(Exception ex)
{}
}
// TODO Auto-generated method stub
}
So das Problem ist jetzt, dass sich überhaupt nichts tut wenn ich die Pfeiltasten drücke. So wie es scheint, wird meine Klasse run genau 1 Mal ausgeführt, danach nicht mehr. Das sehe ich daran, dass meine Variable x nur 1 Mal über System.out ausgegeben wird. Nach einem Problem bei meinem KeyAdapter habe ich auch schon gesucht, aber nichts gefunden.
Bei meinem Abschlussprojekt habe ich alles genauso gemacht (denke ich jedenfalls) und da läuft es auch immernoch. Nur eben bei meinem neuen Programm nicht mehr so recht.
Ich wäre echt froh wenn mir dabei jemand helfen könnte.
mfg KICK
PS: Geht in diesem Forum kein
oder gibts dafür eine andere Variante?