Quads: ein Bild zerlegen und die einzelnen Teile verzerren

Director hat alles an Bord, um Bilder in beliebige Stückchen zu zerlegen und mit diesen alle möglichen kleinen Kunststückchen aufzuführen.


Zur Sache:

InitWarpler
Nach dem Setzen der nötigen Variablen wird die Verzerrungsliste gemacht: statt unguter Formeln werden einfach die Rot-Werte eines Farbverlaufes ausgelesen und in eine Liste geschrieben. Das sorgt später für schnelleren Zugriff.

Danach werden die Slices gemacht und in die temporäre CastLib gelegt.

PiecesRechnenInit
Die Positionen der Ecken werden in eine Liste geschrieben. Das hat den Vorteil, dass Verzerrungen überlagert werden können. Hier haben die Positionen einfache Werte.

PiecesRechnen
Hier wird zentral für jedes Teilbild die Verzerrung berechnet und angewendet. Wichtig: Die Bilder sind etwas größer als sie sein sollten, damit keine "Blitzer" entstehen. Gegen den Rand hin wird die Verzerrung reduziert, bei Mausklick wird sie verstärkt.

Funktion Verzerrung
Abhängig von der Entfernung zur Maus wird die neue Position jeder Ecke berechnet und zurückgegeben.

Das ist hier natürlich nur eine Variante von vielen. Die Funktion kann so verändert werden, dass der Effekt umgekehrt ist, also die Umgebung der Maus größer wird.

Was man besser machen könnte:
Eigentlich ist es nicht nötig, jedes Mal alle Quads neu zu berechnen. Es ändern sich nur die, die innerhalb des Mindestradius sind. Bei größeren Flächen würde diese Geschwindigkeitssteigerung stark zum Tragen kommen.

 

Shockwave-Demo:
Auf das Bild klicken

Download: Dir 8.5
warplerdemo.zip

Weitere Director Tutorials und Beispiele:

3D-Lingo:
Gesunde Natur für Director Entwickler

Trotz/Mit Lingo:
Movie als Video ausgeben

3D-Lingo:
Kleine Slideshow

Vectorforms:
Tortendiagramme mit Director

Playlist zusammentragen:
Filescanner (mp3)

Lingo für Einsteiger:
Kleines Quiz

Lingo-Basics:
Zufälle mit random()

Vectorforms:
Zappelnder Pfeil

Quads:
Bilder zerlegen und verzerren

Statistik:
Listen glätten und darstellen

Mini-Google
Schnelle Suche durch Indizierung

Zeichnen:
Schnellere Linien mit Vectorforms

Onlinegame:
Pagman mit zufälligem Spielfeld

 

  zurück    [ home ]   [ interactive design ]   [ tutorials ]   [ praxis ]

www.beesign.com - interactive design in wien