2010-01-27 3 views
0

При динамическом выводе ссылок я не могу динамически определять Y-Pos. Он будет работать, если мои ссылки одинарны.выводя массив ссылок, без перекрытия!

link_txt.y = i * 20;

Это будет работать только в том случае, если ссылки Single Lined. предполагая, что они 15px для высоты + 5 для интервала.

Как только они состоят из двух линий, они перекрываются. Я пробовал разные методы, но не мог понять это.

Любые идеи?

ответ

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); 
} 
+0

WOW! Спасибо! ваш код работал !!!!! – 2010-01-28 16:43:47

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

Хитрость здесь в том, что single line conditional проверит, есть ли действительная ссылка на prev var. Если там он установит y-позицию текущего поля в цикле в превалирующие поля y +, это высота + дополнение (необязательно). Если не существует действительной ссылки на предыдущее поле, тогда он установит поля y равными 0.