Actionscript 3 获取多行文本字段AS3中的实际行高

Actionscript 3 获取多行文本字段AS3中的实际行高,actionscript-3,flash,Actionscript 3,Flash,我有一个25行左右的多行文本字段。我需要能够在某些文本下面画一条线。我试图使用TextLineMetrics获取线条高度的尺寸,但它似乎无法正常工作。 有人知道这个问题的解决方案吗?我见过FTE字体提到过一些,但我不熟悉这些字体。这是要调查的吗? 谢谢 代码: 我弄明白了。我正在调整文本字段的大小,这就抛弃了我的TextLineMetrics。我得到了文本字段的原始大小,做了一个调整比率,然后将我的线宽乘以这个比率。在那之后,一切都很顺利。你能展示一下你的代码吗?@Cameron在上面更新了:不

我有一个25行左右的多行文本字段。我需要能够在某些文本下面画一条线。我试图使用TextLineMetrics获取线条高度的尺寸,但它似乎无法正常工作。
有人知道这个问题的解决方案吗?我见过FTE字体提到过一些,但我不熟悉这些字体。这是要调查的吗? 谢谢

代码:


我弄明白了。我正在调整文本字段的大小,这就抛弃了我的TextLineMetrics。我得到了文本字段的原始大小,做了一个调整比率,然后将我的线宽乘以这个比率。在那之后,一切都很顺利。

你能展示一下你的代码吗?@Cameron在上面更新了:不,对不起。我的闪光灯一直在生锈——上次我不得不测量我使用的文本,但这不太可能适用于这里;TextLineMetrics看起来是一个不错的选择。您确定初始行高度错误吗?(你试过追踪吗?)很酷,伙计。谢谢你的努力!我一直在寻找答案,但我真的认为这只是对TextField的多行使用的某种限制。我将进一步使用它,可能会动态地将文本字段拆分为多个单行文本字段。解决这个问题的方法不止一种,它们似乎都很复杂。到现在为止,我应该知道闪光有时是非常困难的我弄明白了。我正在调整文本字段的大小,这就抛弃了我的TextLineMetrics。我得到了文本字段的原始大小,做了一个调整比率,然后将我的线宽乘以这个比率。从那以后一切都很好。太好了,我很高兴你找到了解决办法!
textbox1.insidetext.text = currtext[0];
var metrics:TextLineMetrics = textbox1.insidetext.getLineMetrics(0);
lineHeight = metrics.ascent + metrics.descent;

// This is inside a function that gets called on a timer
if (readLine.x == textbox1.x) {
    readLine.x = (textbox1.width / 2) + textbox1.x;
} else {
    readLine.x = textbox1.x;
    readLine.y = readLine.y + lineHeight;
}