2013-03-14 5 views
3

Я добавляю ряд текстовых полей через цикл на основе XML-файла. Ширина полей всегда будет 200 px, поэтому в зависимости от того, сколько текста содержится в узле XML, высота текстового поля будет различаться. Мне нужен способ соединить эти поля друг с другом в зависимости от их высоты плюс сказать, что между каждой из них есть 10 px. Ниже приводится способ создания текстовых полей.Укладка динамических текстовых полей Flash/ActionScript 3

for(var i:int; i < xml.item.length(); i++) 
{ 
    var theText:TextField = new TextField(); 
    addChild(theText); 
    theText.wordWrap = true; 
    theText.width = 200; 
    theText.antiAliasType = AntiAliasType.ADVANCED; 
    theText.autoSize = TextFieldAutoSize.LEFT; 
    theText.selectable = false; 
    theText.htmlText = xml.item[i][email protected]; 
}; 

ответ

3

Вы можете отслеживать высоту, используя высоту текстового поля.

var startHeight:int = 0; 
for(var i:int; i < xml.item.length(); i++) 
{ 
    var theText:TextField = new TextField(); 
    addChild(theText); 

    theText.y = startHeight; 

    theText.wordWrap = true; 
    theText.width = 200; 
    theText.antiAliasType = AntiAliasType.ADVANCED; 
    theText.autoSize = TextFieldAutoSize.LEFT; 
    theText.selectable = false; 
    theText.htmlText = xml.item[i][email protected]; 

    startHeight += theText.height + 10; 
} 
+0

Спасибо! Я знал, что это просто. Только одно небольшое изменение для любого другого, кто сталкивается с этим, первая строка должна быть: «var startHeight: int = 0;» – user2170376

+0

Ха-ха, да, редактирование, что слишком много смешивания C++/AS3 делает это иногда :) –

Смежные вопросы