Aus Das deutschsprachige Scratch-Wiki
Variablen sind Platzhalter mit zugewiesenen Werten, die während des Programmablaufs vom Benutzer oder von einem Skript verändert werden können. Sie werden häufig verwendet, um die Zeit einer Stoppuhr zu speichern, Berechnungen durchzuführen oder einen Punktestand anzeigen zu lassen. Außerdem werden sie oft für Listen verwendet, um unter anderem ein Element aus einer Liste zu finden und zu merken. Zudem gibt es ab Scratch 2.0 die Möglichkeit Cloud Variablen zu erstellen, welche sich bei allen Projektnutzern gleichzeitig aktualisieren und somit zum Beispiel Online-Mehrspieler-Spiele zu erstellen.
Variablen erstellen
Um überhaupt einen Variablen-Block zu sehen, muss mindesten eine Variable vorhanden sein. Dazu geht man einfach unter die Kategorie Daten und klickt auf Neue Variable.
Nachdem man Neue Variable angeklickt hat, erscheint ein neues Fenster. In diesem Fenster kann man die Variable benennen und bestimmen, ob sie global oder privat ist und ob sie in der Cloud gespeichert werden soll oder nicht.
Nach dem Erstellen einer Variable erscheinen nun die Blöcke in dieser Kategorie. In Scratch 3.0 existieren folgende Blöcke:
Wird eine Variable doch nicht mehr gebraucht oder unter einem anderen Namen, wird der Variablenwertblock in der Blockpalette mit dem rechten Mauszeiger angeklickt, um die Optionen
- Variable umbenennen
- Variable löschen
- Hilfe
anzuzeigen. Von diesen kann nun die gewünschte ausgewählt werden.
Variablen anzeigen
Eine Variable kann ähnlich wie die Positionsbausteine auch auf der Bühne angezeigt werden. Dazu werden die zeige- und verstecke Variable Blöcke verwendet. Es kann aber auch einfach das Kästchen (Checkbox) neben dem runden Variablenblock engeklickt werden.
Eine Variable kann in 3 Formen auf der Bühne angezeigt werden.
- Name + Wert
- nur der Wert
- Name + Wert und einem Regler (Slider)
Mithilfe eines Doppelklicks kann die Form verändert werden. Mit einem Rechtsklick kann man außerdem im Reglermodus die Grenzen des Reglers festlegen.
Variablen in anderer Farbe anzeigen
Variablen sind prinzipiell in orange gehalten, was einerseits vielen Scratch-Projekten ein Wiedererkennungsmerkmal gibt andererseits oft das Farbdesigns eines Projekts stört. Die Darstellungsfarbe einer Variable kann zwar nicht geändert werden, es gibt aber zwei Möglichkeiten um die Farbe abzuändern:
Methode 1 ist, statt einer Variable einen Wert-Block einer Figur verwenden, in Frage kommen hier:
Block | Farbe | Wertebereich | Einschränkungen |
---|---|---|---|
Tempo (Block) | Lila | nur Werte zwischen 20 und 500 | beeinflusst einzeln gespielte Töne der Figur |
Lautstärke (Klang Block) | Lila | nur Werte zwischen 0 und 100 | Einfluss auf Klangwiedergabe der Figur |
x-Position (Block) | Blau | nur Werte zwischen ca. -240 und 240 | Einfluss auf Position der Figur |
y-Position (Block) | Blau | nur Werte zwischen ca. -180 und 180 | Einfluss auf Position der Figur |
Richtung (Block) | Blau | nur Werte zwischen -180 und 180 | Einfluss auf Drehrichtung der Figur |
Kostümnummer (Block) | Violett | nur Werte zwischen 1 und der Anzahl der Kostüme der Figur | Einfluss auf Aussehen der Figur |
Bühnenbildname (Block) | Violett | nur Werte zwischen 1 und der Anzahl der Bühnenbilder | beeinflusst Bühne, darum als Anzeigeelement wenig brauchbar |
Größe (Block) | Violett | Wertebereich von Kostüm abhängig | Einfluss auf Aussehen der Figur |
Bei Methode zwei wird ein Kostüm mit einer Farbfläche genau über den angezeigten Werteblock gelegt und die Figur mit dem setze () Effekt auf ()-Block dann halbdurchsichtig gemacht. Damit kann man die Variable dann graublau, gelb, etc. erscheinen lassen. Beide Methoden können auch kombiniert werden, das folgende Bild zeigt ein paar Anwendungsbeispiele.
Wert der Variable
Der Wert einer Variable kann Zahlen oder Zeichenketten enthalten. Bei einer Zahl sind auch Kommazahlen möglich. Eine Zeichenkette kann aus Ziffern, Buchstaben und Sonderzeichen bestehen. Eine Variable kann direkt auf einen Wert gesetzt werden oder es kann ihr ein Wert einer bereits vorhandenen Variable zugewiesen werden.
setze [Variable 1 v] auf [4] setze [Variable 2 v] auf [Hallo] setze [Variable 3 v] auf (Stoppuhr)
Mit dem "ändere () um ()"-Block wird der Wert einer Variable mit dem angegebenen Wert zusammengezählt. Das funktioniert natürlich nur mit Zahlenwerten.
Nach
ändere [Variable 1 v] um (1)
enthält "Variable 1" den Wert 5, da sie zuvor oben auf 4 gesetzt wurde und nun um 1 verändert wurde.
Variablentypen
Global und lokal
Globale (öffentlich, "für alle Figuren") Variablen können von jedem Objekt gelesen und verändert werden. Lokale (privat, "nur für diese Figur") Variablen können mit dem Block "() von ()" von jedem gelesen, aber nur von ihrem Besitzer geändert werden. Wenn ein Objekt mit einer privaten Variable kopiert wird, kopiert sich die Variable mit und so hat jedes von diesen Objekt abstammende Objekt seine eigene Variable. Ein Klon übernimmt die privaten Variablen seines Elternklons und macht sie zu seiner eigenen.
Dieses Verhalten nennt man auch Datenkapselung (Wikipedia). Es ist besonders bei größeren Projekten nützlich, weil somit Variablen, mit denen andere Objekte nichts zu tun haben, nicht verwechselt oder sogar fälschlicherweise verändert werden.
Echte lokale Variablen, also innerhalb einer Prozeder definierte und nur dort verwendbare Variablen gibt es in Scratch nicht.
Cloud-Variablen
→ Hauptartikel: Cloud Daten
Cloud-Variablen speichern ihnen Inhalt online auf dem Scratch-Server. Dadurch wird der Inhalt, wenn das Projekt veröffentlicht wurde, für alle anderen sichtbar und kann auch von allen Scratchern verändert werden (Neue Scratcher haben diese Möglichkeit leider noch nicht). Sie sind vielseitig in verschiedenen Projekten anwendbar, zum Beispiel in Multiplayer-Online-Spielen oder in Highscore-Listen, wobei man für letzteres einen Algorithmus braucht, der eine Liste aus Zahlen in eine einzige Zahl umwandelt.
Variablen sind online nicht mehr an ihrem Platz
→ Hauptartikel: Variablen sind nicht an ihrem Platz
Wenn man eine Variable bei Beginn eines Projektes unsichtbar macht und später wieder sichtbar, kann es sein, dass sie nicht mehr an ihrem Platz ist. Dieses Problem ist ärgerlich, kann aber behoben werden, indem man einen Trick verwendet.
Tutorial
Für mehr Informationen über Variablen und was du damit alles machen kannst, kannst du dir Tutorial: Variables von SparshG auf Scratch angucken. Du kannst dir natürlich auch die von Arnie1_0 übersetzte Version hier angucken.
Tutorial: VARIABLES remix: translation German/Deutsch
Schau' dir dieses Projekt auf der Scratch-Webseite an...
Siehe auch
[wiki=de:Variablen]Variablen[/wiki]