as3 - render text straight to Sprite.graphics?
Because I'm a terrible, bad person who likes to do things differently for no reason, I'd love to be able to do something like mySprite.graphics.drawText(...).
As I understand things, the only way to get text currently is to create a TextField and add it as a child of mySprite. In my particular situation I'd rather not do that.
Any a开发者_如何学Cdvice appreciated!
ooo
Wrong bzzzzzzzt create a new BitmapData object, create a bitmap, adding the bitmapData to it and then adding that bitmap as a child to your sprite. Example:
var myTextImage:BitmapData = new BitmapData(textField.width, textField.height, true, 0x000000ff);
myTextImage.draw(textField);
mySprite.addChild(new Bitmap(myTextImage));
stage.addChild(mySprite);
I just made that code up so you'll have to adapt it but the principle should be more than clear enough to adapt it to your project.
Create a new BitmapData object : bitmapdata = new BitmapData(txt.width, txt.height, true, 0x000000ff);
Draw your textfield on it : bitmapdata.draw(txt);
And then use graphics class and it works !
sprite.graphics.beginBitmapFill(bitmapdata);
sprite.graphics.drawRect(0,0,txt.width,txt.height);
sprite.graphics.endFill();
C ya
If you wanted to wrap it up in a method of Sprite I would simply extend the Sprite class, add the function drawText to it. Within that method add the TextField etc. But it doesn't sound like you want that.
In which case have a look here http://lab.polygonal.de/?p=916
They have created a collection of code that can render fonts without, well, fonts. There are disadvantages like file size, but it is possible.
精彩评论