代码之家  ›  专栏  ›  技术社区  ›  Jon Cage

在ActionScript3中的形状上绘制文本

  •  9
  • Jon Cage  · 技术社区  · 16 年前

    有没有办法只用actionscript在displayobject或shape中绘制文本?在web上找到的唯一方法是创建一个文本字段,但是我不能将tf添加到displayobject或shape中。

    编辑:

    由于 viatropos 。

    对于任何感兴趣的人:

    DisplayObject 器具 IBitmapDrawable 可以作为参数传递给 draw A的功能 BitmapData 对象,然后可以使用 graphics.beginBitmapFill 。

    var textfield:TextField = new TextField;
    textfield.text = "text";
    
    var bitmapdata:BitmapData = new BitmapData(theWidth, theHeight, true, 0x00000000);
    bitmapdata.draw(textfield);
    
    graphics.beginBitmapFill(bitmapdata);
    graphics.drawRect(0, 0, theWidth, theHeight);
    graphics.endFill();
    
    1 回复  |  直到 16 年前
        1
  •  9
  •   Lance Pollard    16 年前

    好问题。这超出了我需要做的任何事情,但我想我知道怎么做。

    shape扩展了displayobject,但不扩展displayobjectcontainer,因此不能向其添加任何内容。但是它 做 有 graphics 属性,这样你就可以把东西画进去。我能想到的最好的方法是为textfield创建一个位图快照,并将其绘制到形状中。我知道这就是德格拉法为他们做的 RasterText (查看 source ,这真的很有帮助)。

    如果你改成雪碧,那就容易多了。sprite扩展了displayobjectcontainer,因此可以在其中添加文本字段。

    希望能帮上忙, 兰斯

    推荐文章