Java 2D Jump'n'Run - Sprunganimation / Doppelsprung

2 Antworten

Mach doch nen int für jumpCounts und einen für maxCounts. Wenn du auf dem Boden bist, wird jumpCounts auf 0 gesetzt. Bei jeder Sprungtastenbetätigung wird dieser um 1 erhöht, bis maxCounts erreicht ist. bei maxCounts = 1 könntest du dann einmal springen, bei 2 dann Doppelsprung usw.

 int jumpCounts = 0;
 int maxCounts = 2;

private void performJump()
{
if (jumpCounts >= maxCounts)
  return;                   //Abbruch des Sprunges
jumpCounts++;     
 
charY += speedY;
speedY++;

// System.out.println(charY);

if (charY > oldCharY)
{
    charY = oldCharY;
    speedY = 0;
    //Ich nehme mal an, dass das hier das Ende des Sprunges ist
    jumpCount = 0;
}
}

Probier das mal aus!

Du möchtest keinen boolean? Dann nimm einen Integer, der raufzählt: wenn du drückst geht es auf z.b. 1, wenn du nochmal drückst auf 2, dann aber nicht höher. Wenn du landest geht er wieder auf 0.