Pastor Pixel Tipps Tutorial Anleitungen Hilfe

Masken mit AS3

Man kann mit der Eigenschaft mask einer MovieClip Instanz einen anderen MovieClip als Maske zuweisen. So dass der MC nur da zu sehen ist, wo der zugewiesene Masken-MC ihn überlagert. Wenn in beiden Instanzen die Eigenschaft cacheAsBitmap auf true gesetzt wird, sind auch halbtransparente Masken möglich.

Wir haben hier 2 MC-Instanzen mit den Instanznamen bildMc, und maskeMc

bildMc.mask=maskeMc;

Das folgende Beispiel ermöglicht eine halbtransparente Maske.

bildMc.cacheAsBitmap = true;

maskeMc.cacheAsBitmap = true;

bildMc.mask = maskeMc;

 

Programmierte Maske an einem Pfad

Für den Inhalt dieser Seite ist eine neuere Version von Adobe Flash Player erforderlich.

Adobe Flash Player herunterladen

Siehe auch meinen Video Tipp bei Youtube

Im obigen Beispiel wird eine Linie langsam angezeigt.

Zuerst erstellt man einen kleinen Kreis, wandelt diesen in einen Movieclip um
aktiviert die Option "Export für Actionscript" und vergibt den Klassennamen "Punkt".
Man zieht eine Instanz auf die Bühne, vergibt den Instanznamen mov_mc.
Desweiteren setzt man die Farbeigenschaft alpha im Eigenschaftenfenster auf 0.
Dann weist man dieser Ebene ein Bewegungstweening zu.
Man erstellt eine weitere Ebene.
Dort erstellt man die Linie und kopiert diese in die Zwischenablage.
Dann wandelt man die Linie in einen Movieclip (Modifizieren in Symbol konvertieren, Movieclip)
Der Instanz, die dadurch auf der Bühne ensteht, vergibt man den Instanznamen "linie_mc" im Eigenschaftenfenster.
Nun fügt man die Linie aus der Zwischenablage auf der Bewegungstween Ebene hinzu und zwar auf gleicher Position. Strg Shift V oder Bearbeiten / an Position einfügen.
Der Rest ist Actionscript

maske_mc ist ein programmatisch erstellter leerer Movieclip
dieser fungiert als Maske für die Linie
linie_mc.mask = maske_mc.
In diesen maske_mc werden onEnterFrame also mit der Bildlaufrate neue
MCs gesetzt. maske_mc.addChild(punkt)
Diese Punkte werden jeweils auf die aktuelle x-y- Position des "mov_mc" Movieclips gesetzt der am Pfad entlang läuft. Dadurch entstehen lauter Punkte entlang der Linie, die als Maske fungieren.

Am Ende der Zeitleiste wird die Zeitleiste gestoppt und der onenterFrame Event entfernt
Man kann dem Bewegungstween auch eine Beschleunigung zuweisen.

 

var maske_mc: MovieClip = new MovieClip();
linie_mc.mask = maske_mc;

this.addEventListener(Event.ENTER_FRAME, goLine);

function goLine(evt: Event): void {
	var punkt: Punkt = new Punkt();
	punkt.x = mov_mc.x;
	punkt.y = mov_mc.y;
	maske_mc.addChild(punkt);
}

 


 

Startseite: www.pastorpixel.de