in AS erstellten Text mit in AS erstellter Maske maskieren

tantebootsy

Erfahrenes Mitglied
hallo zusammen,
geht es denn, ein komplett in AS erstelltes Textfeld wiederum mit einer in AS erstellten Maske und setMask() zu maskieren?
Wenn ich normalen Text erstelle, muss ich diesen erst in ein Symbol umwandeln, damit ich ihn maskieren kann, also versuchte ich folgendes, da es auf direktem Weg (ohne Textcontainer) nicht ging:

_root.createEmptyMovieClip("textcontainer",0);
_root.textcontainer.createTextField("textfeld",1,100,100,300,100);

_root.textcontainer.textfeld.background = true;
_root.textcontainer.textfeld.backgroundColor = 0x00ff00;


txtFormat = new TextFormat();
txtFormat.font = "Verdana";
txtFormat.size = 50;

_root.textcontainer.textfeld.text = "Hallo Welt";
_root.textcontainer.textfeld.setTextFormat(txtFormat);


_root.createEmptyMovieClip("maske",2);
with(maske) {
beginFill(0x0000ff,50)
moveTo(100,100);
lineTo(200,100);
lineTo(200,200);
lineTo(100,200);
endFill();
}

_root.textcontainer.textfeld.setMask(maske);

Funktioniert aber auch nicht..
Gibt's da nen Trick, oder isses definitiv nicht möglich?
 
Dynamische Textfelder kann man nicht maskieren.. ist leider so. Der einzige Weg das zu realisieren ist glaub ich

meinTextfeld.embedFonts = true;

zu setzen.

sancho
 
sers,
oder du tust dein dynamischen text in einen mc (movieclip) und maskierst den mc! des geht!

mach ein fach anstatt von:
_root.textcontainer.textfeld.setMask(maske);
...
_root.textcontainer.setMask(maske);
PHP:
function func() {
	_root.createEmptyMovieClip("textcontainer", 0);
	_root.textcontainer.createTextField("textfeld", 1, 100, 100, 300, 100);
	_root.textcontainer.textfeld.background = true;
	_root.textcontainer.textfeld.backgroundColor = 0x00ff00;
	txtFormat = new TextFormat();
	txtFormat.font = "Verdana";
	txtFormat.size = 50;
	_root.textcontainer.textfeld.text = "Hallo Welt";
	_root.textcontainer.textfeld.setTextFormat(txtFormat);
	_root.createEmptyMovieClip("maske", 2);
	with (maske) {
		beginFill(0x0000ff, 50);
		moveTo(100, 100);
		lineTo(200, 100);
		lineTo(200, 200);
		lineTo(100, 200);
		endFill();
	}
	_root.textcontainer.setMask(maske);
}
func();
 
Zuletzt bearbeitet:
geht beides net...

@ sancho:
wenn ich die Schriften einbette und versuche zu maskieren verschwindet die ganze Schrift. Maskiere ich meinen textcontainer verschwindet wiederum die Schrift, das Textfeld wird aber maskiert...

@NEO:
Das hatte ich schon selbst versucht, klappt aber auch nicht, da hat mich das embed noch n bisschen weiter gebracht... hat's denn bei dir geklappt

Danke trotzdem, Gruß,
TB
 
sersn,
also bei mir gings!
nimm mal das script von oben!
und hau mal den textbackground wech dann siehste es noch besser!
ps: ich verwende flash mx 2004 ;)
 
Zuletzt bearbeitet:
Das muss das wohl an MX2004 liegen, bei mir funktioniert dein Code nämlich nicht (benutze MX).
Hab schon auf der Macromedia-Seite kurz nach den Neuerungen in AS geschaut, dort wird aber nur grob erklärt, was neu ist an MX2004 und im angepinnten Thread ganz oben hier im Forum hab ich auch nichts gefunden.
Werde mir morgen die Trial-Version von MX2004 runterladen, morgen is XXL-Tag für heute wär's mir dann doch zu teuer.. ;)
Melde mich wieder,
Gruß,
TB
 
Oke, bin erst jetzt zum Testen gekommen und die Annahme war richtig => funktioniert nur mit mx2004, für alle, die's interessieren sollte...

Gruß und danke für die Hilfe,
TB
 
Zurück