Flash: Maske mit Verlauf

/ Autor: Alexander, 08 Aug 2008

Lange Zeit war es in Flash so, dass eine Maske nur harte Kanten aufweisen konnte. Entweder maskiert oder nicht. Aus gestalterischer Sicht ein klares Manko. Lösen ließ sich dieses Problem beschränkt mit Hilfe von PNGs mit Verläufen auf Transparent. Dies funktioniert jedoch nicht immer und bringt je nach Größe des PNGs auch eine größere Ladezeiten mit sich.

Seit Flash 8 gibt es, wie in einem früheren Blogeintrag beschrieben, die cacheAsBitmap-Funktion. Damit lassen sich alle Vektordaten eine MovieClips, der noch keine zwischengespeicherte Bitmap besitzt, in eine Bitmap zeichnen. Diese wird dann anschließend auf die Hauptbühne gezeichnet. Führt man nun dieses cacheAsBitmap = true; auf die Maske, sowie auf den zu maskierenden MovieClip aus, erhält man zwei MovieClips mit Bitmap-Daten. Maskiert man nun den MovieClip, werden alle Verläufe auf Transparent als Maske mit unterschiedlicher Intensität umgesetzt. Damit lassen sich nun innerhalb von Flash Masken mit Verläufen erstellen, was die oben beschrieben Probleme mit der gestalterischen Freiheit, sowie der Dateigröße löst.

Jedoch ist diese Funktion mit Vorsicht zu genießen. In bestimmten Fällen kann es zu unschönen Fragmenten oder Flimmereffekten an den halb-transparenten Bereichen kommen. So zum Beispiel wenn der maskierte MovieClip animiert oder mit neuen Objekten gefüllt wird, also dieser MovieClip Änderungen erfährt. Hier hat Flash Probleme mit der cacheAsBitmap-Funktionalität. Die erforderlichen Umrechnungen und Maskierungen werden nicht richtig ausgeführt.

One Response to “Flash: Maske mit Verlauf”

  1. [...] wie der viel zitierte … das karneval, aber so eine chice maske kann ich ohne weiteres auch im …Flash: Maske mit Verlauf | zeroseven labsLange Zeit war es in Flash so, dass eine Maske nur harte Kanten aufweisen konnte. Entweder maskiert [...]

Leave a Reply