Flash TextField,动态大小

时间:2010-02-23 13:17:15

标签: flash actionscript-3 actionscript text fonts

我正在构建文本框以在Flash中显示可变长度的消息。我的问题很简单,但答案可能不是。

我有:

  • 我想要显示的字符串。
  • 字体信息。
  • 我想要文本字段的宽高比。

如何计算显示我给它的文本所需的文本字段的宽度和高度,仅此而已?

2 个答案:

答案 0 :(得分:6)

我能想到的最简单的事情是创建一个文本字段,设置自定义字体和文本然后获取大小:

e.g。

var field:TextField = new TextField();
field.defaultTextFormat = new TextFormat('Verdana',12,0xDEDEDE);
field.text = 'someText';
trace(field.textWidth + ' / ' + field.textHeight);

textWidthtextHeight应该为您提供正确的数字,而不是宽度和高度属性。如果您需要更多详细信息,请查看TextLineMetrics class

HTH, 乔治

答案 1 :(得分:1)

如果您打开autoSize,它应该为您调整文本字段的高度。然后,您可以使用相同的field.textHeight

获取高度
var field:TextField = new TextField();
field.autoSize = "left";
field.multiline = true;
field.defaultTextFormat = new TextFormat('Verdana',12,0xDEDEDE);
field.text = 'someText';
trace(field.textWidth + ' / ' + field.textHeight);