How do I draw text in an ActionScript 3 sprite?
Solution 1
I would go with something more low-level than Label. Use a TextField and add it as a child to the Sprite:
var text:TextField = new TextField();
text.text = "hello world";
addChild(text);
Note: your text will not show up if the Sprite is rotated and the fonts are not embedded.
Solution 2
you should read about the display list
var s:Sprite = new Sprite();
var txt:TextField = new TextField();
txt.text ="here is same text";
s.addChild(txt);
PEZ
A screen evangelist. Nay for SO:s grumpy old men closing and deleting good programming related content out of pure grumpyness.
Updated on July 18, 2022Comments
-
PEZ almost 2 years
I have some sprites that the users can manipulate, drag around and resize. Now I'd like to be able to display text in those sprites. I've tried lots of, probably stupid, ways. Like inheriting from Label and adding a Label child to the sprite, but no text shows up.
One disturbing thing: Inheriting from Label I get the text to show up if I run in the debugger and inspect my Label subclass instance.
I have this feeling I'm missing something really obvious. How is this done, the proper way?
-
PEZ about 15 yearsThanks! This was starting to drive me nuts. Any idea why it doesn't work using a Label?
-
PEZ about 15 yearsThat doesn't work for some reason. Adding a TextField works, but has some side effects that I now must sort out.