Informatik

Bugs lernt springen

Das Ziel

Leertaste drücken, Bugs springt – und fällt wieder herunter. Dazu bewegt er beim Laufen die Beine.

So sieht das aus

Klick in den Übungsbereich und drück die Leertaste.

Wie es gemacht ist

Die Animation

Spieler ist jetzt ein AnimatedSprite. Eine Animation ist eine Reihe von Bildern, die abwechselnd gezeigt werden:

this.addAnimation("gehen", "bunny1_walk%d", 2);

Das %d wird durch die Nummer des Einzelbildes ersetzt, beginnend bei 1. Geladen werden also bunny1_walk1 und bunny1_walk2. setAnimationInterval(120) legt fest, dass alle 120 Millisekunden weitergeschaltet wird.

Der Sprung

Ein Sprung ist keine feste Kurve, sondern das Ergebnis von zwei Regeln:

this.changeY(steiggeschwindigkeit);
steiggeschwindigkeit = steiggeschwindigkeit - 0.5;

Bugs bewegt sich um seine aktuelle Steiggeschwindigkeit nach oben – und die wird in jedem Bild ein bisschen kleiner. Erst steigt er schnell, dann langsamer, dann wird die Zahl negativ und er fällt. Das ist Schwerkraft, in zwei Zeilen.

amBoden ist ein Attribut vom Typ boolean: Es merkt sich, ob Bugs gerade steht oder in der Luft ist. Ohne dieses Merkmal könnte man mitten im Sprung noch einmal springen – ein Fehler, den fast jedes selbstgebaute Jump-and-Run einmal hatte.

Deine Aufgabe

a) Spring ein paar Mal. Kannst du in der Luft ein zweites Mal springen?

b) Ändere die Sprungkraft von 9 auf 15 und auf 4. Was ändert sich?

c) Ändere die Schwerkraft von 0.5 auf 0.2 und auf 1.5. Beschreib in einem Satz, wie sich der Sprung anfühlt.

d) Bau einen doppelten Sprung ein: In der Luft soll einmal nachgesprungen werden dürfen.

Tipp 1: Doppelsprung, erster Schritt

Du brauchst dir zu merken, wie viele Sprünge seit dem letzten Bodenkontakt schon verbraucht sind. Ein int-Attribut reicht:

private int spruenge = 0;
Tipp 2: Doppelsprung, zweiter Schritt

Statt amBoden fragst du spruenge < 2. Beim Landen setzt du spruenge = 0, beim Abspringen erhöhst du um eins.

Achtung: isKeyPressed ist wahr, solange die Taste unten ist. Für den zweiten Sprung muss die Spielerin die Taste also loslassen und neu drücken – sonst sind beide Sprünge im selben Moment verbraucht. Merk dir dazu, ob die Taste im letzten Bild schon gedrückt war.

Eine mögliche Lösung. Erfrage das Passwort bei deiner Lehrkraft oder sieh auf der Seite Lösungspasswörter nach.

Zum Herunterladen

Projekt: Bugs lernt springen

Selbsttest

Bugs lernt springen

Teilbare URL erstellen

Abschnitte auswählen