# Schnee Effekt in 2D Spiel



## LoN_Nemesis (4. Okt 2006)

Hallo 

Nachdem ich so viele kompetente Antworten zu meiner Regen Frage erhalten habe, schiebe ich gleich die nächste nach:

Wie könnte man das mit Schnee machen? Also das technische Prinzip wird das gleiche sein: Ein Array für die Schneeflocken mit den Koordinaten, wenn sie ausserhalb des Bildschirms sind, dann einfach wieder hochsetzen. Nur wie beschreibt man am besten die Bewegung von Schneeflocken? Ich habe den Regen mal einfach weiss und langsamer gemacht, das sieht gar nicht gut aus. Schnee "trudelt" ja mehr, hat da irgendwer einen Ansatz?


----------



## Redfrettchen (4. Okt 2006)

Hi,
du müsstest die x-Koordinate als eine Funktion auffassen für jeden y-Wert, den die Flocke annimmt. Wenn man natürlich auch Flocken nach oben fliegen lassen will (Windstoß o.ä.), dann vllt. auch abhängig von einem Tickzähler.
Experimentier mit den Funktionen einfach ein bisschen herum. Sinus ist doch bestimmt ein guter Anfang


----------



## njoerd (5. Okt 2006)

also ich würde es mit dem sogenanent random walk machen
http://de.wikipedia.org/wiki/Random_Walk

das wird am realistischten werden, denk ich mal


----------



## Revenant (5. Okt 2006)

Ich hab das früher auch mal gemacht. Ich glaub sogar so ähnlich wie der "random walk" oder was das sein soll. Jedoch mit Objekten, anstatt mit Arrays. die "hinteren" Schneeflocken waren bei mir dann nämlich langsamer und kleiner als die Vorderen. Ich glaub sowas bekommt man durch die Arrays nicht so leicht hin.

Wie auch immer, einfach die Dinger von oben nach unten fallen lassen und zufällige x-Werte addieren. Sollte eigentlich ein ganz anschauliches Ergebnis werden. Die Farbe kannst du auch noch zufällig wählen. Von totalem weiß, zu nem leichten grau für die hinteren Flocken. 

Ne Idee wärs dann noch sowas wie ne Methode Windstoß einzubauen, die beim Aufruf alle Flocken noch zusätzlich in ne bestimmte Richtung bewegt oder sowas. 


Lass doch dann mal sehen wenns fertig ist, bin echt gespannt


----------



## LoN_Nemesis (5. Okt 2006)

Also, ich habs jetzt mal mit einer ganz sanften Sinus Funktion gemacht, die Flocken fallen fast gerade, ich finde es ganz ok (man erkennt zumindest eindeutig, dass es Schnee sein soll  ). Aber natürlich würde ich es trotzdem noch verbessern, also immer her mit den Vorschlägen.

Mein Experiment mit Random Walk war nicht so gut irgendwie, die Flocken haben dadurch sehr oft ihre Richtung geändert was ruckartig und unnatürlich aussah.

Also wie gesagt im Moment einfach ein sehr schwacher Sinus, wer mal gucken mag:

Mein Spiel 'Destiny'

Es ist noch nichtmal zu einem Bruchteil fertig, also bitte nicht zu genau nach Fehlern suchen  Mir gehts hier jetzt erstmal um die Wetter-Effekte, durch Drücken der Taste 'r' schaltet ihr zwischen klar, Regen und Schnee um.[/list]


----------



## Revenant (5. Okt 2006)

ich finds eindeutig sehr gut. der schnee gefällt mir am besten. regen würd ich vllt noch bisschen mehr grau reinmachen. denn ich finde das blau sieht man auf dem hintergrund nur schlecht. und dann hab ich noch nen tipp. du könntest auch noch sowas wie ein Gewitter einbauen (ab und zu das bild hell aufleuchten lassen, kA vllt grad nen weisses transparentes rechteck drüberzeichnen oder so und das mit nem donner hinterlegen).


----------



## internetto (5. Okt 2006)

Den Schnee finde ich sieht sehr gur aus 
Villeicht etwas mehr und nach tufall ein bissl grau?

Den Regen finde ich irgendwie zu blau.
Und irgendwie auch zu Svhräg


----------



## Beni (5. Okt 2006)

Kann mich meinen Vorrednern nur anschliessen. Wie wäre es bei Regen und Schnee das Bild ein bisschen zu verdunkeln, bzw. auszugrauen?


----------



## LoN_Nemesis (5. Okt 2006)

Revenant hat gesagt.:
			
		

> und dann hab ich noch nen tipp. du könntest auch noch sowas wie ein Gewitter einbauen (ab und zu das bild hell aufleuchten lassen, kA vllt grad nen weisses transparentes rechteck drüberzeichnen oder so und das mit nem donner hinterlegen).



Das ist eine gute Idee, werde ich auf jeden Fall machen. Soundeffekte kommen erst später dazu, aber wenn ich soweit bin mach ich das.




			
				Beni hat gesagt.:
			
		

> Kann mich meinen Vorrednern nur anschliessen. Wie wäre es bei Regen und Schnee das Bild ein bisschen zu verdunkeln, bzw. auszugrauen?



Auch eine gute Idee, werde ich gleich mal ausprobieren. Wenn ich das hinbekomme, dann könnte ich vielleicht sogar einen "Nacht" Effekt dazumachen.

Der Regen gefällt mir auch noch nicht perfekt, wenn ich ihn einfach nur grauer mache, dann sieht man ihn noch schlechter.


----------



## LoN_Nemesis (6. Okt 2006)

Habe nun einen Soundeffekt zum Regen hinzugefügt, sporadisch gibt es Blitz und Donner und es ist etwas dunkler. Besser so?

mitglied.tripod.de/destinyjava/new


----------



## Illuvatar (6. Okt 2006)

Was ich noch gut fände:
Das sieht momentan aus, als würde es vor dem Fenster vorbeiregnen/-schneien. Du kannst ja immer zufällig ein paar Tropfen/Flocken schon mittendrin entfernen...


----------



## Revenant (6. Okt 2006)

es is definitiv ziemlich gut, 

nur bei mir läuft gerade der sound noch ständig weiter obwohl ich das ding schon geschlossen hab, und ich glaub ne exception wird auch noch geworfen

wie auch immer... wenn ganz derb drauf bist, kannst ja noch ein paar tropfen (müssten dann images sein) aufs bild zeichnen die mit der zeit immer "durchsichtiger" werden, bis sie dann ganz weg sind. sozusagen als ob die äh "kamera" vollgeregnet wird.


----------



## Caesar (6. Okt 2006)

Sieht wirklich sehr gut aus, aber wie kriege ich den Sound wieder aus :autsch: ?


----------



## LoN_Nemesis (6. Okt 2006)

Das mit dem "am Fenster vorbeiregnen" ist mir auch schon aufgefallen, werde ich noch ändern.

Oh ja, ich sollte vielleicht den Sound beenden in der destroy() Methode  Tut mir leid, ist bestimmt nervig wenn das nicht aufhört.


----------



## Caesar (7. Okt 2006)

*push*
Bei mir läuft immer noch dieser Regen-Sound  
Muss ich den ganzen PC neu booten oder gibt's da ne andere Möglichkeit, den Sound auszukriegen?


----------



## Beni (7. Okt 2006)

Schliess mal den Browser :bae:


----------

