EDIT
Извините, вам придется адаптироваться к AS2.Этот код отображает 14 текстовых полей с именами от dynamic_text0 до dynamic_text14.Если это не сработает, я действительно не уверен, что вы делаете неправильно ...
private function init():void
{
var numOfItems:int = 15;
var tfName:String;
var leading:Number = 15;
for( var i:int = 0 ; i < numOfItems ; ++i )
{
tfName = "dynamic_text" + i.toString();
createTextField( tfName , leading );
leading += 10;
}
}
private function createTextField(tfName:String , leading:Number):void
{
var tf:TextField = new TextField();
tf.name = tfName;
tf.autoSize = TextFieldAutoSize.LEFT;
tf.y = leading;
tf.text = tfName;
addChild( tf );
}
END OF EDIT
Вам нужно увеличить значение i!
var leading:Number = 15;
var i:Number = 0;
while (i < 15) {
var tfName:String = "dynamic_txt" + i.toString();
//Create 15 text fields vertically spaced
createTextField( tfName , 1, 10, 10+leading, 150, 30);
++leading; //using this to set the y position
++i; // increment the i value at each iteration
}
или вы можете использовать цикл for
for( var i:int = 0; i < 15 ; ++i )
{
var tfName:String = "dynamic_txt" + i.toString();
//Create 15 text fields vertically spaced
createTextField( tfName , 1, 10, 10+leading, 150, 30);
++leading; //using this to set the y position
}
Я не знаком с AS2, поэтому я не знаю, доступен ли метод toString (), если нет, найдите эквивалент AS2, остальные должны работать как есть.
EDIT
Если есть проблема, то это с методом createTextField (), тогда ... Я дважды проверил с помощью trace ()оператор и оба цикла работают нормально, значение tfName & lead увеличивается, как и ожидалось.
попробуйте это и посмотрите результат:
for( var i:int = 0; i < 15 ; ++i )
{
var tfName:String = "dynamic_txt" + i.toString();
//Create 15 text fields vertically spaced
//createTextField( tfName , 1, 10, leading, 150, 30);
trace( "tfName:" , tfName , "leading: " , leading );
// a slight improvement to the leading incrementation :)
leading += 10; //using this to set the y position
}
Я предполагаю, что вы не создаете новый экземплярПеременная TextField в вашем методе createTextField, поэтому вы видите только последний.