8.582
Bearbeitungen
Jneug (Diskussion | Beiträge) |
Jneug (Diskussion | Beiträge) |
||
| Zeile 70: | Zeile 70: | ||
Das Besondere an lokalen Variablen ist, dass sie für jeden Klon einen anderen Wert speichern können. | Das Besondere an lokalen Variablen ist, dass sie für jeden Klon einen anderen Wert speichern können. | ||
Das folgende Beispiel verdeutlicht dies. Es enthält eine Figur, die zehn verschiedene Kostüme hat. Jedes Kostüm stellt eine andere Ziffer von 0 bis 9 dar. Außerdem hat die Figur eine lokale Variable <sb>(nummer)</sb>. Beim Klick auf die grüne Flagge {{Scratch2/ui|Flagge}} wird nun im Abstand von 0,5 Sekunden jeweils die Variable mit <sb>ändere [nummer v] um (1)</sb> um eins erhöht, sowie ein Klon erzeugt. Die Klone wiederum gleiten innerhalb von einer Sekunde zu einer Position, die sich aus der <sb>(nummer)</sb> berechnet und wechseln dann zur Kostüm mit der in <sb>(nummer)</sb> gespeicherten Nummer. Beachte, dass der Kostümwechsel erst nach einer Sekunde stattfindet, wenn schon längst der nächste Klon erzeugt wurde und damit auch die <sb>(nummer)</sb> schon wieder hochgezählt wurde. Die Klone haben sich aber den Wert bei ihrer Erzeugung gemerkt und wechseln so zum richtigen Kostüm. | |||
Das Skript sieht wie folgt aus: | |||
<scratchblocks> | |||
Wenn die grüne Flagge angeklickt | |||
setze [nummer v] auf (0) | |||
gehe zu x:(-200) y:(0) | |||
wiederhole (10) mal | |||
ändere [nummer v] um (1) | |||
erzeuge Klon von [mir selbst v] | |||
warte (0.5) Sek. | |||
end | |||
Wenn ich als Klon entstehe | |||
gleite in (1) Sek. zu x:((-200)+((nummer)*(40))) y:(0) | |||
wechsle zu Kostüm (nummer) | |||
</scratchblocks> | |||
[[Datei:Scratch Klone3.gif|center|frame|Beispiel für die Verwendung von lokalen Variablen zur Steuerung von Klonen.]] | [[Datei:Scratch Klone3.gif|center|frame|Beispiel für die Verwendung von lokalen Variablen zur Steuerung von Klonen.]] | ||