Lernpfad:Scratch für Fortgeschrittene/Informationen speichern und abrufen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Icon Delete.png
Diese Seite hat noch keinen Inhalt.

Bei vielen Projekten müssen bestimmte Informationen aus unterschiedlichen Gründen gespeichert werden. Die häufigsten Gründe sind:

  • Der Benutzer muss eine Eingabe machen, die gespeichert werden muss.
  • Eine Information ist nicht fest, sondern ändert sich im Laufe der Zeit.
  • Ein Wert wird an mehreren Stellen verwendet.

Wann immer eine Information gespeichert und wieder abgerufen werden soll, werden in Scratch (und anderen Programmiersprachen) Variablen angelegt. Im folgenden werden die Grundlagen von Variablen in Scratch beschrieben. Weiter unten findest du Beispiele zu den drei oben genannten Gründen, Informationen zu speichern.

Globale und lokale Variablen

Variablen erstellen und abrufen

Variablen verändern

Beispiele

Beispiel 1: Der Benutzer muss eine Eingabe machen, die gespeichert werden muss.

Beispiel 2: Eine Information ist nicht fest, sondern ändert sich im Laufe der Zeit.

Beispiel 3: Ein Wert wird an mehreren Stellen verwendet

Wenn ein Wert an mehreren Stellen in einem Skript oder sogar in mehreren Figuren verwendet werden soll, dann bietet es sich oft an, diesen Wert nicht direkt in die Anweisungen zu schreiben, sondern ihn in einer Variablen zu speichern. Auf diese Weise kann der Wert sehr einfach verändert werden, ohne ihn in jeder Anweisung einzeln anpassen zu müssen.

Beispielsweise kann man eine Figur animieren, indem durch die Kostüme der Figur gewechselt wird. Um die Geschwindigkeit der Animation zu steuern baut man zwischen den Kostümwechseln eine Verzögerung ein.

nächstes Kostüm
warte (0.2) Sek.
nächstes Kostüm
warte (0.2) Sek.
nächstes Kostüm
warte (0.2) Sek.
nächstes Kostüm

Merkt man erst später, dass die Animation zu langsam oder schnell abläuft, dann müsste man in allen drei warte (0.2) Sek. Anweisungen den Wert verändern.

Statt dessen könnte man eine neue Variable (wartezeit) anlegen und verwenden.

setze [wartezeit v] auf (0.1)
nächstes Kostüm
warte (wartezeit) Sek.
nächstes Kostüm
warte (wartezeit) Sek.
nächstes Kostüm
warte (wartezeit) Sek.
nächstes Kostüm

Nun kann mit den Wert für die Wartezeit beliebig experimentiert werden, bis die Animation in der richtigen Geschwindigkeit abläuft.


Ein Beispiel, bei dem ein Wert in verschiedenen Figuren verwendet wird, ist das folgende Projekt. Es enthält einen Button und mehrere Bälle. Jeder Ball fliegt über die Bühne und prallt von den Rändern ab. Die Geschwindigkeit (also die Weite der Schritte) wird von der Variablen (tempo :: variables) festgelegt. Jeder klick auf den Button erhöht den Wert dieser Variablen um 2 und beschleunigt so alle Bälle gleichzeitig immer mehr.


Das Skript der Bälle sieht so aus:
Wenn die grüne Flagge angeklickt
setze Richtung auf (Zufallszahl von (0) bis (360))
wiederhole fortlaufend
  gehe (tempo :: variables)er-Schritt
  pralle vom Rand ab
end
Das Skript des Buttons sieht so aus:
Wenn die grüne Flagge angeklickt
setze [tempo v] auf (1)

Wenn ich angeklickt werde
ändere [tempo v] um (2)