Epic: Ducken
Als Spieler möchte ich mich ducken können, damit ich fliegenden Feinden ausweichen kann, ohne zu springen.
Die Idee
Ein Feind kommt in Kopfhöhe angeflogen. Springen hilft nicht – wer die Pfeiltaste nach unten drückt, duckt sich darunter weg.
Deine Aufgabe
a) Baut eine Klasse Flieger, die in Kopfhöhe von rechts kommt.
b) Mit der Pfeiltaste nach unten duckt sich Bugs.
c) Geduckt fliegt der Feind über ihn hinweg, stehend trifft er.
d) 🚀 Bugs soll sich nur am Boden ducken können, nicht im Sprung.
Tipps
Tipp 1: Ducken ist ein Kostüm plus eine kleinere Hitbox
bunny1_ready zeigt Bugs geduckt. Damit der Feind wirklich über ihn hinwegfliegt,
muss Bugs aber auch kleiner werden: Die Trefferfläche richtet sich nach dem
Kostüm und seiner Größe.
setSize(35) beim Ducken und setSize(50) beim Aufrichten genügt dafür.
Tipp 2: Der fliegende Feind
Eine neue Klasse, fast wie Stachel, nur höher und mit einem anderen Kostüm:
public class Flieger extends Sprite {
private BunnyHop spiel;
public Flieger(BunnyHop pSpiel) {
spiel = pSpiel;
this.addCostume("fliegen", "flyMan_fly");
this.setSize(50);
this.setPosition(600, 10);
}
public void run() {
this.changeX(-spiel.getGeschwindigkeit() * 1.5);
if (this.getX() < -450) {
this.setX(450 + this.pickRandom(0, 400));
}
}
}