Realistisches Wasser mit Actionscript

Wir werden heute einen realistischen Wassereffekt in Flash mit Hilfe von Actionscript erstellen. Nach diesem Tutorial werdet Ihr diesen Effekt auch auf Eure eigenen Fotos anwenden können.
Das ist das Endergebnis, das wir erreichen wollen:
1. Schritt:
Wir erstellen ein neues Dokument mit der Breite und Höhe des Bildes und der Bildrate von 30 fps (bps). In meinem Beispiel 390 x 293 Pixel.
2. Schritt:
Jetzt Importieren wir unser Bild auf die Bühne: Datei -> Importieren -> In Bühne importieren (STRG+R). Ist dies getan, richten wir das Bild noch auf unserer Bühne aus, auf links und oben (siehe Bild).
3. Schritt:
Nun benennen wir unsere 1. Ebene um in „Wasser“ und erstellen eine 2. Ebene namens „Land & Himmel“. Eigentlich ist es egal, wie Ihr sie benennt, so ist es aber besser zur Veranschaulichung.
4. Schritt:
Wir gehen auf unser Bild mit Rechtsklick, in dem Menü gehen wir auf Teilen (Break Apart). Nun nehmen wir das Lassowerkzeug (L) und wählen damit alles aus, das kein Wasser ist.
5. Schritt:
Ist dies gemacht, kopieren wir es mit Bearbeiten -> Kopieren (STRG+C), gehen in unsere Ebene „Land & Himmel“ und fügen es mit Bearbeiten -> An Position einfügen (STRG+Umschalt+V) hinzu.
Es sollte dann so aussehen, wenn wir die Ebene Wasser ausblenden. Ich weiß, das es nicht professionell aus sieht; soll ja nur ein Beispiel sein.
6. Schritt:
Jetzt klicken wir in der Wasser-Ebene auf das Wasser in unserem Bild, wandeln es mit Rechtsklick, In Symbol konvertieren, um( Movieclip) und nennen es „wasser_mc“: Im Eigenschaftenfenster geben wir noch den Instanznamen ein, der "wasser_mc" heißt (bitte diesen auch so nennen, ansonsten gibt es später Probleme mit dem ActionScript).
7. Schritt:
Nun erstellen wir noch eine weitere Ebene namens „Actionscript“; sollte die zwischen den beiden schon erstellten Ebenen sein, dann verschiebt sie nach oben an die erste Stelle.
So, jetzt kommen wir zu dem Hauptteil diese Tutorials und zwar zum ActionScript.
8. Schritt:
Jetzt öffnen wir das ActionScript im 1. Schlüsselbild der Ebene „ActionScript“, Rechtsklick -> Aktionen und schreiben folgendes Script rein.
Das ActionScript:
// Import der ActionScript-Klassen import flash.display.*; import flash.geom.*; import flash.filters.*; // myBitmap = new BitmapData(BreitedeinesBildes,HöhedeinesBildes,false,0); myBitmap = new BitmapData(390,293,false,0); pt = new Point(0,0); mpoint = new Point(0,0); myDispl = new DisplacementMapFilter(myBitmap, mpoint,1,2,10,50); wasser_mc.myList = new Array(); wasser_mc.myList.push(myDispl); wasser_mc.filters = wasser_mc.myList; i = 1; this.onEnterFrame = function() { filterList = wasser_mc.filters; offset = new Array(); offset[1] = new Object(); /* Hier die Intensität von x und y ändern: offset[1].x ändert die Schnelligkeit in der x – Richtung (Schnelligkeit der Wellen), offset[1].y ändert die Schnelligkeit der y – Richtung (Höhe der Wellen)*/ offset[1].x = i; offset[1].y = i/8; /* Hier werden unser Daten auf unser Bitmap angewendet und verändert. Für verschiedene Grafiken, könnt Ihr hier gerne mit den Zahlen herumspielen*/ myBitmap.perlinNoise(45,5,3,50,true,false, 7,true,offset); filterList.mapBitmap = myBitmap; wasser_mc.filters = filterList; i++; }
Und nun nur noch mit STRG+Enter testen.
So, das war es wieder einmal von mir, bis zum nächsten Mal.

Passend zum Inhalt empfehlen wir:
Programmieren lernen mit Python – das Praxis-Tutorial
Super, tausend Dank!! :)
habe wie von dir vorgeschlagen, etwas mit den Werten gespielt und das Wasser ist super geworden!
Vorschlag von meiner Seite:
Wenn man das Bild zusätzlich auf die Hintergrundebene legt, umgeht man störende weiße Blitzer auf der Wasseroberfläche :)
Ein hilfreiches Script für Anfänger, Danke.
Hübscher Effekt! Echt ne nette Spielerrei.
super effekt. mal schauen, ob ich da mal gebrauchen kann
super effekt. probiere ich gleich aus! Danke
Ziemlich lassig. Danke
Super arbeit. Mu´ß ich unbedingt auch mal probieren.
Super! Danke! Hanb noch nie mit ActionScrip gearbeitet. Aber das muss ich mal probieren.
Der FireFox hängt sich nicht mehr auf, wenn man das Addon Adblock mal kurz deaktiviert. Jedenfalls ist das bei mir so.
schönes Ergebnis, nur leider vermisse ich wie all zu oft: ActionScript version bitte Angeben. Mir war zwar eigentl. klar dass das mit AS2.0 nur geht, wegen
"(Version: ab Flash 8) " [glaube da gabs noch kein AS3.0]. Zum AS-Code hätte ich mir ein bisschen mehr Kommentare dazu gewünscht, was manche Sachen machen, auch wenn das meiste Selbsterklärend ist. Aber letztendlich zählt hier das Ergebnis und wer das Script braucht, kann es so ja jederzeit auf ein anderes Projekt anwenden. 5*
sehr originelles tut..
ein wenig stört der gepixelte rand auf der linken seite im wasserbild, auch ist die spiegelung des landmotivs nicht immer praktisch - in meinem beispiel habe ich den horizontnahen wasserbereich ausgespart, dann siehts ganz echt aus...
beim versuch, einen wasserhintergrund in einem anderen movie laufen zu lassen funzt die wasseranimation leider nicht...
Schönes Tut; leider hängt sich auch bei mir des öfteren der Browser (Firefox) auf.
beim Erstellen einer neuen Datei fragt man sich natürlich, ob als AS2 oder AS3-Datei. ActionScript 2 ist hier richtig.
Schön wäre, wenn man den Filter so konfigurieren könnte, dass er die Wellen perspektivisch im Vordergrund größer und im Hintergrund kleiner macht.
@Szpur: Wieso soll das nicht CS3-kompatibel sein? Du tust dem armen FlashSoft unrecht! Außerdem wäre das allein wohl kein Grund für eine Abwertung.
Für CS3ler völlig unbrauchbar. wird sofort von der Festplatte gelöscht. Leider!
Szpur
Hätte wohl ein eigenes Bild nehmen können, leider hatte ich zur Zeit keins zur Hand. Die anderen sind nicht kopiert oder sogar geklaut.
wär cool gewesen wenn du wenigstens nen eigenes bild genommen hättest xDD und nicht einfach das ganze tutorial kopiert hättest.
http://www.pixelhivedesign.com/tutorials/Realistic+Flash+Water+Effect/
Sehr cool.
Aber bei rechtsklick auf die swf im Tut hängt der Browser ( Firefox ).
oh wow schnell und geil O0
sehr schönes tut