as3 - 将文本直接渲染到 Sprite.graphics?

发布于 2024-11-02 08:37:07 字数 188 浏览 0 评论 0原文

因为我是一个可怕的坏人,喜欢无缘无故地以不同的方式做事, 我希望能够做类似 mySprite.graphics.drawText(...) 的事情。

据我了解,当前获取文本的唯一方法是创建一个 TextField 并将其添加为 mySprite 的子级。在我的特殊情况下,我宁愿不这样做。

任何建议表示赞赏!

哦哦

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 advice appreciated!

ooo

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

贱贱哒 2024-11-09 08:37:07

错误 bzzzzzzzt 创建一个新的 BitmapData 对象,创建一个位图,将 bitmapData 添加到其中,然后将该位图作为子项添加到您的精灵中。示例:

var myTextImage:BitmapData = new BitmapData(textField.width, textField.height, true, 0x000000ff);

myTextImage.draw(textField);

mySprite.addChild(new Bitmap(myTextImage));

stage.addChild(mySprite);

我刚刚编写了该代码,因此您必须对其进行调整,但原理应该足够清晰,以便使其适应您的项目。

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.

£噩梦荏苒 2024-11-09 08:37:07

创建一个新的 BitmapData 对象: bitmapdata = new BitmapData(txt.width, txt.height, true, 0x000000ff);

在其上绘制文本字段: bitmapdata.draw(txt);

然后使用图形类就可以了!

sprite.graphics.beginBitmapFill(bitmapdata);
sprite.graphics.drawRect(0,0,txt.width,txt.height);
sprite.graphics.endFill();

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

揽月 2024-11-09 08:37:07

如果你想将它包装在 Sprite 的方法中,我只需扩展 Sprite 类,向其中添加函数 drawText 即可。在该方法中添加 TextField 等。但这听起来不像您想要的那样。

在这种情况下请看这里
http://lab.polygonal.de/?p=916

他们创建了一系列可以在没有字体的情况下渲染字体的代码。虽然存在文件大小等缺点,但这是可能的。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文