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...



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

Kategorie:En-Link