0

动态输出链接时,我无法动态确定 Y-Pos。如果我的链接是单行的,它将起作用。

link_txt.y = i*20;

这仅在链接为单行时才有效。假设它们的高度为 15px + 间距为 5。

只要它们是 2 行,它们就会重叠。我尝试了不同的方法,但无法弄清楚。

有任何想法吗?

4

3 回答 3

3

如果通过“输出链接”您的意思是制作代码片段所暗示的链接的垂直列表,您可以尝试这样的事情:

var field:TextField;
var prev:TextField;

for( var i:int = 0; i < _fields.length; i++ )
{
   field = _fields[i]
   field.y = prev ? ( prev.y + prev.height ) + padding : 0;
   prev = field;
}

这里的技巧是单行条件将检查是否有对prevvar 的有效引用。如果存在,则将循环中当前字段的 y 位置设置为上一个字段 y + 它的高度 + 填充(可选)。如果没有对前一个字段的有效引用,则它将字段 y 设置为 0。

于 2010-01-28T02:41:52.803 回答
0
var offsetY : Number = 0;
for (var i : int = 0; i < links.length; i++) {   
 var link_txt : TextField = TextField(links[i]);
 link_txt.autoSize = TextFieldAutoSize.LEFT;
 link_txt.text = "http://www.google.be";
 link_txt.y = offsetY;   
 offsetY += (link_txt.height + 5);   
 addChild(link_txt); 
}
于 2010-01-28T10:42:38.560 回答
0

我相信您正在寻找的是 TextField 的 textHeight 属性。

LiveDocs 文本字段 textHeight

于 2010-01-27T23:40:24.683 回答