BBL Geschrieben 5. Januar 2015 Teilen Geschrieben 5. Januar 2015 Hallo, kurz vor weg ich bin nicht der beste wenn es um Java geht Wie bekomme ich es hin, das sich eine Figur so lange bewegt bis ich die Taste los gelasssen habe? Bei mir ist das Problem, das ich wenn ich auf Pfeiltaste rechts/links Drücke die Figur von alleine die ganze Zeit nach rechts/links Läuft. Vielen Dank private KeyListener keyListener = new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { switch (e.getKeyCode()) { case KeyEvent.VK_LEFT: left(); break; case KeyEvent.VK_RIGHT: right(); break; case KeyEvent.VK_UP: jump(); break; case KeyEvent.VK_DOWN: if (!isJumping) stop(); break; } } }; @Override public KeyListener getKeyListener() { return keyListener; } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chE92 Geschrieben 6. Januar 2015 Teilen Geschrieben 6. Januar 2015 Hi, Habe mich noch nicht sonderlich mit Java beschäftigt aber schau mal nach KeyUp bzw. KeyDown. Sollte in etwa so aussehen... public boolean keyDown( Event e, int key ) { showStatus( "keyDown: Taste" + ( char ) key + " wurde gedrückt); doSth(); return true; // Event verarbeitet } public boolean keyUp( Event e, int key ) { showStatus( "keyUp: Taste" + ( char ) key + " losgelassen." ); return true; // Event verarbeitet } mfg chE Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
speedi Geschrieben 9. Februar 2015 Teilen Geschrieben 9. Februar 2015 KeyPressed wird in bestimmten Intervallen gerufen, solang der Knopf gedrückt ist. Entweder knüpfst du also deine Bewegung ganz direkt an dieses Event und bewegst deine Figur direkt über den KeyListener oder du musst auch noch das KeyReleased auswerten um die Bewegung ggf. zu stoppen - z.B. wenn die im Programm entsprechende Nebenläufigkeiten hast. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.