Aus Das deutschsprachige Scratch-Wiki
Dieses Tutorial zeigt, wie Stiftpartikel hergestellt werden. Diese werden in vielen Spielen häufig als Hintergrund- oder Todeseffekt verwendet.
Hinzufügen von Partikeln zu einer Liste
Der erste Schritt zur Herstellung von Stiftpartikeln besteht darin, eine Liste von Partikeln als 2D-Array zu erstellen. Jedes Partikel enthält mehr als ein Element in der Partikelliste. Zunächst muss eine Liste mit dem Namen Partikel erstellt werden:
(Partikel::list)
Nun kommt noch ein Skript, das ein Partikel an einer bestimmten x- und y-Position mit einer bestimmten x- und y-Geschwindigkeit hinzufügt.
Definiere Partikel hinzufügen | Position: (x), (y), | Geschwindigkeit: (x vel), (y vel) | Farbe: (farbe) | Größe: (größe::custom) füge (x::custom) zu [Partikel v] hinzu // Die X-Startposition des Partikels füge (y::custom) zu [Partikel v] hinzu // Die Y-Startposition des Partikels füge (x vel::custom) zu [Partikel v] hinzu // Die X-Geschwindigkeit des Partikels füge (y vel::custom) zu [Partikel v] hinzu // Die Y-Geschwindigkeit des Partikels füge (Farbe::custom) zu [Partikel v] hinzu // Die Farbe des Partikels füge (Größe::custom) zu [Partikel v] hinzu // Die Größe des Partikels
Partikel löschen
Jetzt muss ein Skript erstellt werden, um ein Partikel an einem bestimmten Element in der Partikelliste zu löschen:
Definiere Partikel (i) löschen lösche ((i) + (5)) aus [Partikel v] lösche ((i) + (4)) aus [Partikel v] lösche ((i) + (3)) aus [Partikel v] lösche ((i) + (2)) aus [Partikel v] lösche ((i) + (1)) aus [Partikel v] lösche (i) aus [Partikel v]
Partikel rendern
Ein Skript wird auch benötigt, um die Partikel zu rendern, die bereits in der Partikelliste gespeichert sind:
definiere Rendern wische Malspuren weg::extension // Löschen aller zuvor erstellten Zeichnungen setze [i v] auf (1) wiederhole ((Länge von [Partikel v]::list)/(6)) mal // Die Anzahl der Partikel in der Liste, da jedes Partikel 6 Elemente enthält gehe zu x: (Element (i) von [Partikel v]) y: (Element ((i)+(1)) von [Partikel v]) // Wir verwenden die Elemente des Partikels in der Liste, um die Eigenschaften des Sprites festzulegen setze Stiftgröße auf (Element ((i) + (5)) oder [Partikel v]::list)::extension setze Stiftfarbe auf (Element ((i) + (4)) oder [Partikel v]::list) schalte Stift aus // Einen Punkt machen schalte Stift an::extension ändere [i v] um (6)
Partikelpositionen aktualisieren
Dieses Skript bewegt die Partikel herum:
Definiere Aktualisieren setze [i v] auf (1) wiederhole ((Länge von [Partikel v]::list)/(6)) mal ersetze Element (i) von [Partikel v] durch ((Element (i) von [Partikel v])+(Element((i) + (2)) von [Partikel v]))::list // Ändern der x-Position um die x-Geschwindigkeit ersetze Element ((i)+(1)) von [Partikel v] durch ((Element ((i)+(1)) von [Partikel v])+(Element ((i) + (3)) von [Partikel v]))::list // Ändern der y-Position des Partikels um seine y-Geschwindigkeit Ersetze ((i)+(2)) von [Partikel v] durch (((Element((i)+(2)) von [Partikel v])::list)-(1))::dark grey // Optionale Schwerkraft, ändert die Y-Geschwindigkeit um -1 Falls<<([abs v](Element (i) von [Partikel v])::operators)>(240)> oder <([abs v](Element ((i)+(1)) von [Partikel v])::operators)>(180)>>, dann Partikel löschen (i)::custom // Wenn das Partikel nicht auf dem Bildschirm angezeigt wird, dann wird es gelöscht. end ändere [i v] um (6)
Code implementieren
Nachdem alle Skripte erstellt wurden, müssen wir sie verwenden! Abhängig von der Art des Programms, das man erstellen möchte, möchte man möglicherweise Mauseffekte erstellen:
Wenn die grüne Flagge angeklickt lösche alles aus [Partikel v] wiederhole fortlaufend Partikel hinzufügen | Position:(Zufallszahl von (-240) bis (240)::operators), (Zufallszahl von (-180) bis (180)::operators) | Geschwindigkeiten: (Zufallszahl von (-10) bis (10)::operators) (Zufallszahl von (-10) bis (10)::operators) Farben: (Zufallszahl von (0) bis (100)::operators) Größe (Zufallszahl von (-10) bis (10)::operators)::custom Partikel aktualisieren::custom Partikel rendern::custom end
Oder man kann auch Hintergrundeffekte machen:
Wenn die grüne Flagge angeklickt // Wenn man Hintergrundeffekte erstellt, stellt man sicher, dass diese keine Schwerkraft haben, indem man den Änderungsblock für die Geschwindigkeit im Aktualisierungsskript entfernt. lösche alles aus [Partikel v] wiederhole fortlaufend Partikel hinzufügen | Position:(Zufallszahl von (-240) bis (240)::operators), (Zufallszahl von (-180) bis (180)::operators) | Geschwindigkeiten: (Zufallszahl von (-10) bis (10)::operators) (Zufallszahl von (-10) bis (10)::operators) Farben: (Zufallszahl von (0) bis (100)::operators) Größe (Zufallszahl von (-10) bis (10)::operators)::custom Partikel aktualisieren::custom Partikel rendern::custom end
Artikel-Projekt
Stiftpartikel
Schau' dir dieses Projekt auf der Scratch-Webseite an...
[wiki=de:Stiftpartikel]Stiftpartikel[/wiki]