0

リンクを動的に出力する場合、Y-Posを動的に決定できません。私のリンクが単線であるかどうかを見つけることができます。

link_txt.y = i * 20;

これは、リンクが単線の場合にのみ機能します。高さ15px+間隔5pxであると仮定します。

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;
}

ここでの秘訣は、条件付きの1行で、変数への有効な参照があるかどうかを確認することですprev。存在する場合は、ループ内の現在のフィールドのy位置を前のフィールドy +高さ+パディング(オプション)に設定します。前のフィールドへの有効な参照がない場合は、フィールドyが0に設定されます。

于 2010-01-28T02:41:52.803 に答える
0

あなたが探しているのはTextFieldのtextHeightプロパティだと思います。

LiveDocs TextField textHeight

于 2010-01-27T23:40:24.683 に答える
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 に答える