Zum Hauptinhalt springen

Folge 3 – Drehtür-Hindernis und saubere Levelstarts

Heute entsteht ein neues Hindernis: die Drehtür. Sie dreht sich ständig und schubst Fledi beim Berühren zurück an den Start. Wir malen dafür ein drittes Level, setzen die Drehung per Block-Skript um und vereinfachen unsere Block-Skripte etwas, damit sie überischtlicher werden.

Das kannst du nach dieser Folge

  • Du baust ein neues Level mit einer Drehtür als beweglichem Hindernis.
  • Du programmierst eine dauerhaft drehende Figur.
  • Du räumst deinen Code auf, indem du Levelstart-Aktionen in ein eigenes Skript auslagerst.
  • Du steuerst, in welchen Leveln Trank und Drehtür sichtbar sein sollen.

Jessicas Tipp: „Wenn dein Code zu lang wird, such nach Stellen, die sich wiederholen – oft kannst du sie in ein gemeinsames Skript auslagern.“


1) Level 3 anlegen und malen

  • Klicke auf die BühneHintergründeNeues leeres Hintergrundbild.
  • Benenne es sofort in Level 3 (genau dieser Name wird im Code abgefragt, wenn Drehtür und Trank entscheiden, ob und wo sie sich zeigen).
  • Male das Level mit Rechtecken: oben/unten Wände, dazwischen ein Tunnel. Achte auf:
    • einheitliche Rand‑ bzw. Wandfarbe (das gleiche Orange, wie in den anderen Leveln),
    • Ziel mit einer klaren, einfarbigen Füllfarbe (das gleiche Grün, wie in den anderen Leveln).

Neues Bühnenbild „Level 3“ mit rechteckigen Wänden


2) Drehtür als Figur bauen

Nimm eine vorhandene Figur (z. B. einen Button oder den Zauberstab "Wand") und forme sie im Reiter Kostüme zu einem langen, schmalen Balken um.

  • Figur hinzufügen → umbenennen in Drehtür.
  • Im Kostümeditor alles auswählen und schmal ziehen, bis ein „Türflügel“ entsteht.
  • Prüfe den Drehpunkt (kleines Fadenkreuz):
    • Mittig = Tür dreht um die Mitte.
    • Am Rand = Tür „schwingt“ um die Achse am Rand.

Schmaler Balken als Drehtür, Drehpunkt setzen


3) Drehen programmieren

In der Figur Drehtür:

  • Wenn grüne Fahne angeklickt
  • wiederhole fortlaufend
    • drehe dich um 2 Grad

Die Tür rotiert nun dauerhaft. Passe den Grad‑Wert an, wenn sie schneller/langsamer drehen soll.

Blöcke: Fahne → wiederhole fortlaufend → drehe dich


4) Code Aufräumen und Kollision: Berührt Fledi die Drehtür?

In Fledis Skripten müßten wir jetzt eine Prüfung analog zur Wandfarbe ergänzen:

  • wiederhole fortlaufend
    • wenn <wird [Drehtür] berührt?> dann
      • gehe zu x/y (deine Startposition)
      • setze Größe auf 50
      • sende [Levelstart] an alle

Diese Befehlssequenz innerhalb dieses Wenn-Dann-Blocks haben wir dann aber schon insgesamt vier Mal in unserem Skript-Code, nämlich immer dann, wenn wir Fledi zurück an den Start schicken:

  • gleich zu Anfang, wenn die grüne Fahre angeklickt wurde
  • wenn die Wandfarbe berürt wurde
  • wenn die Zielfarbe berührt wurde
  • jetzt neu, wenn die Drehtür berührt wurde

Um den Code einfacher und kompakter zu machen, streichen wir an all diesen vier Stellen die gehe zu und setze Größe auf Blöcke und senden nur noch die Level-Start-Nachricht. Dann fügen wir bei Fledi ein neues Skript ein:

  • Wenn ich [Levelstart] empfange
    • gehe zu x/y (deine Startposition)
    • setze Größe auf 50

Damit hört Fledi auf die Nachricht, die sie selbst sendet, und passt am Levelstart automatisch wieder ihre Größe und Position an. Aber im Gegensatz zu vorher brauchen wir die Blöcke dafür jetzt nicht mehr vier mal, sondern nur noch ein Mal.

Um den Code noch kompakter zu machen, kombinieren wir die einzelnen Wenn grüne Fahne angeklickt wird- Skripte zu einem einzigen Skript. Statt mehreren wiederhole fortlaufend-Schleifen testen wir alle möglichen Kollisionen nacheinander in einer einzigen Schleife.

Berührt Drehtür? → zurück zum Start + Levelstart


5) Sichtbarkeit pro Level steuern (Drehtür und Trank)

Genau wie für den Trank in Folge 2 verwenden wir die Nachricht Levelstart, damit sich die Drehtür passend zeigen/verstecken kann.

Da die Drehtür nur in Level 3 sichtbar sein soll, programmieren wir in der Figur Drehtür:

  • Wenn ich [Levelstart] empfange
    • falls <[Bühnenbildname] = [Level 1]> dann
      • verstecke dich
    • falls <[Bühnenbildname] = [Level 2]> dann
      • verstecke dich
    • falls <[Bühnenbildname] = [Level 3]> dann
      • zeige dichgehe zu x/y (Tür‑Position in Level 3)

When Levelstart → je nach Bühnenbildname zeigen/verstecken

Ergänze auch in den Skripten der Figur Trank einen Fall für das neue Level 3, um festzulegen ob und wo der Trank in diesem Level sichtbar sein soll.


Ergebnis

  • Neues Level 3 mit rotierender Drehtür.
  • Fledi prallt bei Berührung ab und startet sauber neu.
  • Trank und Drehtür tauchen nur in den passenden Leveln auf.

In der nächsten Folge basteln wir einen Teleporter - und lernen, wie man Farbanimationen macht.