Hi, ich hätte da mal ein dummes Problem.
Man stelle sich ein Spiel vor... nehmen wir Bomberman als Beispiel. Solang ich den rechten Arrow-Key gedrückt halte läuft ja mein Maxl nach rechts. Nun soll jetzt aber auch WÄHREND ich den rechten Arrow gedrückt halte (und das Maxl läuft) mittels eines kurzen Drucks auf Space eine Bombe gelegt werden.
Mein Problem ist jetzt dass sobald ich Space drücke, dieser KeyEvent den des Arrows überschreibt. Heisst: es wird eine Bombe gelegt, aber das Maxl stoppt und läuft nicht mehr weiter.
Ich habe das zur Zeit so implementiert:,
public void keyPressed(java.awt.event.KeyEvent keyEvent)
{
if(keyEvent.getKeyCode() == KeyEvent.VK_RIGHT)
sprite.moveRight();
else if(keyEvent.getKeyCode() == KeyEvent.VK_LEFT)
sprite.moveLeft();
else if(keyEvent.getKeyCode() == KeyEvent.VK_UP)
sprite.moveUp();
else if(keyEvent.getKeyCode() == KeyEvent.VK_DOWN)
sprite.moveDown();
if(keyEvent.getKeyCode() == KeyEvent.VK_SPACE)
{
System.out.println("SPACE");
// Maxl rennt nicht mehr weiter :(
}
Alles anzeigen
Hat sich schon mal jemand mit gleichzeitigen Key-Press'es beschäftigt? Wie handelt man sowas?
Mein Versuch war nach dem Space-Press das hier einzufügen:
robot.keyPress(lastkey.getKeyCode());
Hilft aber nix
mfg,
AntiBit