Aus Das deutschsprachige Scratch-Wiki

Dieser Artikel befasst sich damit, wie man etwas in einem Projekt mehrfach verwenden kann, ohne immer die ganzen Blöcke zu kopieren. Dazu benutzt man Unterprogramme. In Scratch 2.0 kannst du Unterprogramme mit den Weiteren Blöcken erstellen und verwenden.

Es gibt folgende verschiedene Möglichkeiten, die in diesem Artikel näher erläutert werden:

  • Einskriptig mit Parameter
  • Mehrskriptig ohne Parameter
  • Mehrskriptig mit Parameter

Einskriptig mit Parameter

Diese Methode ist die einfachste Methode. Allerdings hast du im Unterprogramm nur ein Skript (in der Informatik "thread" genannt) zur Verfügung.

Dazu wechselst du erstmal zur Blockkategorie "Weitere Blöcke". Dort klickst du auf "Block erstellen". Dann kannst du bestimmen, wie der Block aussehen soll, also wie er heißt und welche Lücken für andere Blöcke (Parameter) dort sein sollen.

Wenn du das getan hast erscheint ein lila Block "Definiere blablub". An diesen kannst du ganz normal Blöcke anhängen. Diese werden immer ausgeführt, wenn du den Block "blablub" verwendest.

Zum Beispiel soll die Katze sich zu einem bestimmten Ort bewegen. Dazu erstellen wir den Block "Katze zu x: (x) und y: (y) bewegen".

Neuer Block.png

An den "Definiere"-Block hängen wir "gehe zu x: (), y:()". In die Lücken ziehen wir die kleinen Blöcke (x) und (y), die wir aus dem "Definiere"-Block rausnehmen.

Neuer Block 2.png

Zugegeben, dieser Block ist relativ unnütz, weil wir sowieso den "gehe zu ()"-Block haben, ist aber auch nur ein Beispiel.

Mehrskriptig ohne Parameter

Für diese Methode brauchen wir einfach nur die Sende und Empfangen Blöcke. Das Unterprogramm wird durch "Sende (Unterprogramm)"-Block aufgerufen. Die Skripte kommen unter "Wenn ich (Unterprogramm) empfange"-Blöcke.

Beispiel für einen C-Dur Akkord

Mehrskriptig mit Parameter

Diese Methode ist die umfangreichste von den dreien. Sie funktioniert mit Elementen aus den beiden anderen. Man erstellt einen Block, in dem die Parameter vorhanden sind. Statt die Skripte direkt an den "Definiere"-Block zu hängen, überträgt man zuerst die Parameter in Variablen. Dann triggert ("auslösen") man die Skripte mit einem "sende () an alle"-Block.

Siehe auch



Code zum Einbinden ins Forum:
[wiki=de:Unterprogramme]Unterprogramme[/wiki]