Hallo, ich arbeite derzeit an einem Jump'n'Run-Game. Es läuft auch ganz gut, der Sprung an sich sieht gut aus. Wenn man allerdings die Leertaste gedrückt hält, wird die Methode "gespamt" und der Character fliegt mehrere 100 "Einheiten" nach oben. Ich könnte natürlich eine Boolean ready nutzen, allerdings würde dabei die Doppelsprungfunktion verloren gehen. Hier die Sprungfunktion:
(charY ist der y-Wert des Characters; speedY ist die Geschwindigkeit in y-Richtung (speedY liegt am Anfang bei -14, sodass der Character nach oben fliegt); oldCharY ist der y-Wert des Characters vor dem Sprung)
private void performJump()
{
charY += speedY;
speedY++;
// System.out.println(charY);
if (charY > oldCharY)
{
charY = oldCharY;
speedY = 0;
}
}
Die Abspielgeschwindigkeit ist durch Thread.sleep() geregelt. Hoffe ihr könnt mir helfen :)
Danke im Voraus, Günter.