输出一系列链接,没有重叠!

时间:2010-01-27 23:30:23

标签: flash actionscript-3 formula

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

link_txt.y = i * 20;

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

一旦它们是2行,它们就会重叠。我尝试了不同的方法,但无法弄明白。

有什么想法吗?

3 个答案:

答案 0 :(得分: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;
}

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

答案 1 :(得分:0)

我相信你要找的是TextField的textHeight属性。

LiveDocs TextField textHeight

答案 2 :(得分: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); 
}