Folge 5 – Geschmeidige Steuerung mit Geschwindigkeit
Heute machen wir Fledi deutlich angenehmer zu steuern. Statt bei jedem Tastendruck 10 Pixel zu springen, bekommt Fledi eine eigene X‑ und Y‑Geschwindigkeit. Das fühlt sich an wie beim Fahrrad: Du gibst kurz Schwung – und Fledi gleitet weiter.
Das kannst du nach dieser Folge
- Du ersetzt harte Sprünge durch eine weiche Steuerung mit X- und Y-Geschwindigkeit.
- Du lässt Fledi sich je nach Flugrichtung leicht in die Kurve legen.
- Du steuerst den Flügelschlag über eine Variable, sodass Fledi je nach Bewegung schneller oder langsamer flattert.
Jessicas Tipp: „Wenn Fledi zu schnell wird, probier kleinere Änderungen bei X‑Änderung und Y‑Änderung aus – manchmal reicht schon 1 statt 2.“
1) Test‑Level anlegen (leer)
- Bühne →
Hintergründe→Neues leeresBild → benenne esLevel 5. - Für Tests stören Trank/Drehtür/Teleporter: Blende sie aus, damit du eine freie Fläche hast.

2) Bisherige Steuerung kurz wiederholen
Bisher hattest du vier Skripte à la „Wenn Taste … gedrückt → ändere x/y um ±10“. Das ergibt harte Sprünge. Ziel: Fledi soll auch ohne Tastendruck weitergleiten, bis du wieder beschleunigst oder abbremst.

3) Zwei Variablen: X‑Änderung und Y‑Änderung
- In
Variablenerstelle nur für Fledi:X-ÄnderungY-Änderung
- In unsere Hauptschleife (wo wir auch alle Kollisionen testen) fügen wir unten ein:
ändere x um (X-Änderung)ändere y um (Y-Änderung)
Damit bewegt sich Fledi jetzt immmer so schnell, wie der Wert der neuen Variablen vorgibt. Standardmäßig sind X-Änderung und Y-Änderung 0, also bewegt sich Fledi gar nicht. Aber sobald wir die Werte der Variablen ändern, fliegt Fledi rauf oder runter (je nach Wert von Y-Änderung) bzw. nach links oder rechts (je nach Wert der X-Änderung). Das erledigen wir im nächsten Schritt.

4) Beschleunigen mit den Pfeiltasten
Damit der Spieler Fledi wieder mit den Pfeiltasten steuern kann, reaktivieren wir die Logik mit den vier Wenn Taste [rechts/links/oben/unten] gedrückt-Blöcken.
Anstatt direkt die Position von Flexi zu ändern, wenn eine Taste gedrückt wurde, ändern wir jetzt die Geschwindigkeiten - also die X-Änderung, bzw. Y-Änderung:
Wenn Taste rechts gedrückt → ändere (X-Änderung) um 1Wenn Taste links gedrückt → ändere (X-Änderung) um -1Wenn Taste oben gedrückt → ändere (Y-Änderung) um 1Wenn Taste unten gedrückt → ändere (Y-Änderung) um -1

5) Neigung: Fledi kippt in die Kurve
Für mehr „Fluggefühl“ soll Fledi sich in die Kurven legen, also je nach Bewegungsrichtung leicht zur Seite kippen. Die "normale" aufrechte Richtung für eine Figur in Scratch sind 90 Grad. Wenn Fledi 20 Grad nach rechts kippen soll, wären das also 90+20=110 Grad.
Um zu prüfen, ob Fledi sich gerade nach rechts oder links bewegt, reicht es zu testen, ob X-Änderung größer 0 (Bewegung nach rechts) oder kleiner 0 (Bewegung nach links) ist. Also bauen wir folgende Fallunterscheidungein ganz unten in unsere Hauptschleife ein, damit die Drehung von Fledi nach jeder Bewegung passend aktualisiert wird:
falls (X-Änderung) > 0 dann setze Richtung auf 110(leicht nach rechts)falls (X-Änderung) < 0 dann setze Richtung auf 70(leicht nach links)falls (X-Änderung) = 0 dann setze Richtung auf 90(gerade)
Die Werte 70/90/110 sind ein guter Start. Passe sie an, wenn du mehr oder weniger Neigung möchtest.

6) Flatterpause: schneller/langsamer Flügelschlag
Unsere Flügel‑Animation aus Folge 1 hatte feste Pausen (z. B. warte 0.1 s). Jetzt steuern wir die Pause über eine Variable – kurze Pause = schnelles Flattern, lange Pause = langsames Flattern.
- Variable anlegen
- In
Variablen(nur für diese Figur) erstelleFlatterpause.
- Animation auf Variable umbauen
- In Fledis Flatter‑Skript (Kostümwechsel) ersetze die festen
warte …durchwarte (Flatterpause). - Beispiel‑Ablauf innerhalb von
wiederhole fortlaufend:wechsle zu Kostüm [Fliegen 1]→warte (Flatterpause)wechsle zu Kostüm [Fliegen 2]→warte (Flatterpause)wechsle zu Kostüm [Fliegen 3]→warte (Flatterpause)

- Flatterpause je nach Geschwindigkeit setzen
- In unserer Hauptschleife setzen wir jetzt die Flatterpause, je nachdem, ob Fledi gerade nach oben fliegt (dann soll sie schnell flattern) oder nach unten (dann soll sie langsam flattern). Eine einfache Dreistufen‑Logik funktioniert super:
falls Y-Änderung = 0→ setze Flatterpause auf 0.1 (Mittlere Flattergeschwindigkeit, wenn Fledi weder rauf noch runter fliegt)falls Y-Änderung < 0→ setze Flatterpause auf 0.3 (lange Pause = langsames Flattern, wenn sie runter fliegt)falls Y-Änderung > 0→ setze Flatterpause auf 0.05 (kurze Pause = schnelles Flattern, wenn sie hoch fliegt)

7) Testen und Levelstart
Bisher haben wir die neue Steuerung nur in unserem leeren Level getestet. Bei den ersten Tests in einem richtigen Level wird noch ein Problem sichtbar: Wenn wir Fledi gegen die Höhlenwand prallen lassen, wird sie zwar zum Start zurückgeschickt, behält aber ihre aktuelle Geschwindigkeit bei und fliegt von dort sofort weiter. Schöner wäre es, wenn sie am Start stehen bleiben würde, bis der Spieler wieder eine Pfeiltaste drückt.
Dazu fügen wir am Ende unserer Wenn ich [Level Start] empfange-Logik (im Skript von Fledi) noch ein:
setze Y-Änderung auf 0setze X-Änderung auf 0

Ergebnis
- Fledi gleitet sanft weiter, anstatt abrupt mit jedem Tastendruck zu springen.
- Du steuerst die Geschwindigkeit – nicht mehr die Position.
- Mit leichter Neigung und dynamischer Flatterbewegung wirkt der Flug lebendiger und macht mehr Spaß.
In der nächsten Folge programmieren wir eine Höhle mit Wasser, durch das Fledi tauchen muß.