0

TextField を作成し、テキストを入力してこのテキストの寸法を取得しようとしていますが、そうしようとすると:

var baka:TextField = new TextField();
baka.autoSize = true;
baka.htmlText = 'Hello World!';
trace(baka.textWidth); // undefined
trace(baka._width); // undefined

私がやっている.textWidthのはすべて._widthですundefined。なぜそうなるのですか?それを修正する方法は?

4

1 に答える 1

1

AS2 では、createTextFieldメソッド呼び出しを使用する必要があります。AS3 は、TextField オブジェクトをインスタンス化し、それをステージに追加する機能を提供します。

これは、AS2 でやろうとしていることでうまくいくはずの AS2 の例です。

var baka:TextField = _root.createTextField("baka",stage.getNextHighestDepth(),10,10,200,50);
baka.autoSize = true;
baka.htmlText = 'Hello World!';
trace(baka.textWidth);
trace(baka._width);

次の点に注意してください:

  1. _root追加しようとしているオブジェクトに合わせて変更する必要がありますTextField
  2. TextField のプロパティを true に設定すると、メソッド呼び出しの幅と高さのパラメーターはcreateTextField何の意味もありません。autoSize
于 2012-11-18T19:12:26.753 に答える