primero no use ningun archivo .as , prueba el codigo del otro post y debe de funcionar , ahora lo de la variables no te entiendo muy bien, pero getChildByName , se usa para identificar u obtener displayObjects que tengan la propiedad name. Ahora lo del loop te comento el codigo para que te sirva de guia.
Código ActionScript :
//esta funcion recibe como parametro un array que contiene las variables deserializadas
function makeTextField (pData:Array):void
{
/*en tu codigo tu tienes 360 campos de texto p1,p2,p3..., ahora me guie a que en tu codigo
cada 45 campos cambia de variable str2..45 campos mas..str3. entonces se me ocurrio hacer dos loop
ya que el pData es un array tiene un lenght de 8 esto debido al numero de variables eso multiplicado por 45
son los 360 campos de texto*/
var len:int = pData.length;
var spacing:int = 5;
//en este vector guadare los 360 campos de texto
vecTexts = new Vector.<TextField>();
//este es el campo de texto
var displayText:TextField;
for (var i:int=0; i<len; ++i)
{
for (var j:int=0; j<45; ++j)
{
/*en tu codigo tenias algo como substring(0,1),(1,2)... para eso me axuilie de la variable n y de
la del contador j*/
var n:int = 1 + j;
//creo una nueva instancia del campo de texto
displayText = new TextField();
//le doy unas propiedades: width,height,borde..etc
displayText.width = displayText.height = 20;
/*ahora cada ves que entre el loop genero un campo de texto , su propiedad text sera el index i del array
que contiene las variables, es decir para el index 0 que es la primer variable str , se haran 45 campos
de texto, en el subtring recibira lo que tu tenias en tu codigo, (j,n) genera (0,1),(1,2,),(2,3)..etc*/
displayText.text = pData[i].substring(j,n);
displayText.border = true;
//por ultimo para que no se vieran amontonados los campos en el escenario lo acomode a modo de rows y cols
displayText.x = spacing + (displayText.width + spacing) * j;
displayText.y = spacing + (displayText.height + spacing) * i;
//agrego el campo de texto al escenario
addChild (displayText);
/*cada texto que se genera , lo introdusco el vector, asi si tengo que hacer alguna comparacion
me bastaria con hacer otro loop y los condicionantes, y me ahorro tiempo y esfuerzo*/
vecTexts.push (displayText);
}
}
}
si estudias el code ya no tuve que usar el nombre de la variable para cada campo de texto p1.text = data.str0..etc, eso quedo obsoleto , ahora mediante el loop se lleva acabo, saludos y suerte.
Jonathan