9

ActionScript のみを使用して DisplayObject または Shape にテキストを描画する方法はありますか? Web で見つけることができる唯一の方法は、TextField を作成することですが、TF を DisplayObject または Shape に追加することはできません。

編集:

viatroposのおかげで解決しました。

興味のある方へ:

DisplayObjectオブジェクトの関数にIBitmapDrawable引数として渡すことができる実装を実装し、 を使用して描画できます。drawBitmapDatagraphics.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();
4

1 に答える 1

9

良い質問。これは私が今までに必要だったことを超えていますが、私はそれを行う方法を知っていると思います.

Shape は DisplayObject を拡張しますが、DisplayObjectContainer は拡張しないため、何も追加できません。しかし、それプロパティを持っているgraphicsので、そこに物を描くことができます。私が考えることができる最善の方法は、TextField のビットマップ スナップショットを取得し、それを Shape に描画することです。これは、Degrafa がRasterTextに対して行っていることを知っています (ソースを確認してください。非常に役立ちます)。

代わりにシェイプをスプライトに変更すると、はるかに簡単になります。Sprite は DisplayObjectContainer を拡張するため、そこに TextField を追加できます。

お役に立てば幸いです、ランス

于 2010-02-26T09:25:22.343 に答える