Ich bin ein autodidaktischer Programmierer, daher kenne ich die richtigen Methoden nicht. Ich habe einfache Spiele wie Asteroiden und Schlange gemacht, aber in diesen Spielen können Sie die Variablen innerhalb der Keyevent-Funktionen leicht ändern. So habe ich es in meinem einfachen Asteroids-Spiel gemacht:
/*
* key listener events
*/
public void keyReleased(KeyEvent k){
int keyCode = k.getKeyCode();
switch(keyCode){
case KeyEvent.VK_LEFT:
turnLeft = false;
break;
case KeyEvent.VK_RIGHT:
turnRight = false;
break;
case KeyEvent.VK_UP:
accel = false;
break;
case KeyEvent.VK_1:
cls = true;
break;
case KeyEvent.VK_ENTER:
break;
case KeyEvent.VK_SPACE:
fire = false;
}
}
public void keyTyped(KeyEvent K){}
public void keyPressed(KeyEvent k){
int keyCode = k.getKeyCode();
switch(keyCode){
case KeyEvent.VK_LEFT:
turnLeft = true;
break;
case KeyEvent.VK_RIGHT:
turnRight = true;
break;
case KeyEvent.VK_UP:
accel = true;
break;
case KeyEvent.VK_1:
cls = false;
break;
case KeyEvent.VK_ENTER:
clearAllBullets();
break;
case KeyEvent.VK_SPACE:
fire = true;
}
}
Wie sollte ich die Tasten- / Mauseingabe vornehmen, wenn ich ein fortgeschritteneres Spiel erstellen möchte (mit einem Hauptmenü, Optionen, Hauptspiel usw.)?
Wenn ich in den Einzelspieler-Modus wechseln sollte, sollte ich dann den gesamten Gameplay-Code in eine Klasse einteilen? Gibt es eine Möglichkeit, den Einzelspieler-Code in eine separate Klasse einzuteilen und die Schlüsseleingabe die Variablen und dergleichen noch zu ändern?