Schnee Partikel

Schnee Partikel

Schneeflöckchen, ...

Schneeflocken zu simulieren ist keine große Kunst. Ob diese sich nun naturgemäß realitätsnah bewegen, ist natürlich eine andere Frage.

Warum Schnee Partikel?

In meinen Augen gehören Schneeflocken zu den besten Partikeln um beispielsweise eine Spielwelt lebendiger und schöner zu gestalten. Es hat etwas beruhigendes, stilles, ruhiges und ist vor allem leicht zu realisieren.

flake.posX = Math.floor(Math.random() * 800);
flake.posY = Math.floor(Math.random() * 5000) - 5000;

Zufällige Startposition der Schneeflocke setzen. Und dann...

flake.dx = Math.random() * 0.5 - 0.3;
flake.dy = Math.random() * 1 + 0.5;

eine zufällige Beschleunigung setzen.

Mehr...

Das war schon die ganze Magie. So sollte man ungefähr ein ähnliches Ergebnis wie oben im Cover erhalten. Natürlich kann man weiter gehen und das ganze noch ein bisschen realistischer gestalten indem man den Boden beachtet und Transparenz mit ins Spiel bringt. Das habe ich mal aus Spaß gemacht.

Um das mit der Transparenz zu bewerkstelligen braucht man nur den Schnee Partikel eine Lebenszeit zu geben.

// von 10 - 14 Sekunden
flake.lifetime = Math.random() * 14 + 10;

Dann verrechnet man das mit der verstrichenen Zeit seit der "Geburt" der Schneeflocke.

// Beispiel: Die Schneeflocke lebt 10 Sekunden.
// Es sind 5 Sekunden seit ihrer Geburt vergangen.
// Bedeutet: (10 - 5) = 5
// Da es eine Alphawert ist, darf die Zahl nur von 0 bis 1 gehen.
// Bedeutet: 1 / 10 = 0.1
// 5 * 0.1 = 0.5
// Die Schneeflocke hat die Hälfte ihres Lebens gelebt, sie ist also halb transparent.
ctx.globalAlpha = (flakes[i].lifetime - pastSeconds) * (1 / flakes[i].lifetime)
Hinterlasse gerne einen Like oder Kommentar (~‾▿‾)~
Name Text