Anzeige
Tutorialbeschreibung

Realistisches Wasser mit Actionscript

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.


Dieses Bild könnt Ihr Euch kopieren oder Ihr ladet die Arbeitsdatei herunter.

Bilder


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.

Bilder


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

Bilder

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.

Bilder

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.

Bilder


Bilder

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.

Bilder

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

Bilder


Bilder


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.

Bilder


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.


DVD-Werbung
Kommentare
Achtung: Du kannst den Inhalt erst nach dem Login kommentieren.
Portrait von Lisa Steib
  • 18.08.2014 - 20:53

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 :)

Portrait von Jutta_Kruse
  • 19.01.2011 - 20:27

Ein hilfreiches Script für Anfänger, Danke.

Portrait von TheSohalt
  • 16.01.2011 - 01:36

Hübscher Effekt! Echt ne nette Spielerrei.

Portrait von suslik87
  • 25.05.2010 - 11:11

super effekt. mal schauen, ob ich da mal gebrauchen kann

Portrait von Irona
  • 15.04.2010 - 01:28

super effekt. probiere ich gleich aus! Danke

Portrait von bladersmen
  • 05.01.2010 - 23:15

Ziemlich lassig. Danke

Portrait von Fintschi1977
  • 05.01.2010 - 14:32

Super arbeit. Mu´ß ich unbedingt auch mal probieren.

Alternative Portrait

-versteckt-(Autor hat Seite verlassen)

  • 05.01.2010 - 11:28

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.

Portrait von bassist
  • 05.01.2010 - 09:27

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*

Portrait von dersigner
  • 05.01.2010 - 09:13

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

Portrait von Rembremerding
  • 03.01.2010 - 03:18

Schönes Tut; leider hängt sich auch bei mir des öfteren der Browser (Firefox) auf.

Portrait von rustykowski
  • 02.01.2010 - 12:43

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.

Alternative Portrait

-versteckt-(Autor hat Seite verlassen)

  • 01.01.2010 - 11:12

Für CS3ler völlig unbrauchbar. wird sofort von der Festplatte gelöscht. Leider!
Szpur

Portrait von FlashSoft
  • 30.12.2009 - 17:23

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.

Portrait von mitstreiter
  • 30.12.2009 - 14:21

wär cool gewesen wenn du wenigstens nen eigenes bild genommen hättest xDD und nicht einfach das ganze tutorial kopiert hättest.

Portrait von asestar
  • 30.12.2009 - 09:17

http://www.pixelhivedesign.com/tutorials/Realistic+Flash+Water+Effect/

Portrait von williamo
  • 30.12.2009 - 06:26

Sehr cool.
Aber bei rechtsklick auf die swf im Tut hängt der Browser ( Firefox ).

Portrait von aidan
  • 29.12.2009 - 09:02

oh wow schnell und geil O0
sehr schönes tut

x
×
×