2010-09-15 5 views
5

Ich habe ein BitmapData-Objekt dynamisch erstellt, das benutzerdefinierte Formen enthält. Ich befestige dann dieses BitmapData-Objekt über ein Bitmap-Objekt an einen MovieClip und setze diesen MovieClip als Maske für einen anderen MovieClip. Die Maske funktioniert, aber das gesamte Begrenzungsrechteck der BitmapData fungiert als Maske. Aber ich möchte den transparenten Teil von der Maske ausschließen, so dass nur die vom Benutzer gezeichnete Form als Maske eingestellt werden kann. Kann jemand sagen, wie man das erreicht? Vielen Dank.So verwenden Sie transparente BitmapData als Maske

Antwort

8

Ich sehe Sie es bereits gelöst (in den Kommentaren). Veröffentlichen Sie es als Antwort.
Setzen Sie BOTH Movieclip und Maske cacheAsBitmap auf true.

d.h .:

movieclip.cacheAsBitmap = true; 
movieclip_mask.cacheAsBitmap = true; 
0

Vielleicht sollten Sie versuchen, das Bitmap selbst als Maske zu verwenden. Wenn Sie dieses Bitmap zum Anzeigen benötigen, versuchen Sie, ein anderes Bitmap mit den transparenten BitmapData zu erstellen und dieses als Maske zu verwenden.

+0

Versucht, die Bitmap direkt als Maske einstellen. Kein Glück! – Kayes

+0

Haben Sie versucht, mit BlendMode zu spielen (vergessen Sie die Maske, die ich meine)? – PatrickS

+4

Nun, ich habe es getan! Wir müssen die Eigenschaft 'cacheAsBitmap' der Bitmap (die als Maske fungiert) und des MovieClip (auf dem die Maske gesetzt wird) auf 'true' setzen. Sonst funktioniert die Maske nicht richtig. – Kayes

2

Sie müssen das Bitmap-Caching aktivieren.

myMc.cacheAsBitmap = true; wenn ich mich richtig erinnere ...

+0

oops Entschuldigung, es ist Ihnen schon aufgefallen, dass Sie es bereits herausgefunden haben – Daniel

+0

Wie oben erwähnt, tun Sie dies auch für das Bitmap-Objekt. –