私は、動的テキストフィールドを作成し、autoSizeをtrueに設定しました。そのため、必要に応じて大きくなる可能性があります。次に、_height値を使用してコンテナグラフィック(吹き出し)のサイズを設定します。Actionscript 2では、なぜこのTextField _heightが矛盾していますか?
ここでは(簡体字)のコードです:
var format:TextFormat = new TextFormat("Arial", 14);
format.color = 0x000000;
format.letterSpacing = -0.2;
var txt:TextField = _root.createTextField("dialog_txt", 150, 10, 10, 150, 0);
txt.multiline = true;
txt.wordWrap = true;
txt.autoSize = 'left';
txt.embedFonts = true;
txt.selectable = false;
txt.text = value;
txt.setTextFormat(format);
は、私はその後、テキストフィールド+ 5の高さに私のコンテナの高さを設定しようとするが、それはあまりにも短い出てきます。
container._height = txt._height + 5;
は私が前に
trace(txt._height)
を追加することで、値がトレース値が小さすぎるにもかかわらず、右に出てくることがわかりました。一時変数(
var junk=txt._height;
)にtxt._heightを割り当てるだけでも問題は解決します。カップルのトレース機能であることを置き換える:
19.6
は
35.2
直後
trace(txt._height); //Note: No code between these two calls
trace(txt._height);
返します。それはあたかもtxt._height
と読むことで再計算されるので、2回目は正しいです。
textHeight
プロパティも試しましたが、_height
にアクセスした後も再計算されているようです。例えば、この配列は、これは、2 ASである
trace(txt.textHeight); // Returns 15
trace(txt.textHeight); // Returns 15
trace(txt._height); // Returns 19.6
trace(txt.textHeight); // Returns 31
trace(txt._height); // Returns 35.2
MTASCによってコンパイルされます。
ここで何が起こっているかについてのアイデアはありますか?
洞察力をお寄せいただきありがとうございます。アクションスクリプト2です。 – mrdrbob