Comunidad de diseño web y desarrollo en internet online

Crear "createTextField" con for

Citar            
MensajeEscrito el 04 Jul 2007 11:04 am
Hola!!

Tengo una xml donde guardo noticias. Estas noticias al pasarlas a flash las guardo en un array. Despues al recorrer el array lo que quiero es que con "createTextField" me vaya creando campos y los vaya rellenando con los datos del array. Lo que me pasa es que no se como hacerlo para que no me sobreescriba los textos. Alguien sabe como lo puede hacer?????

Un saludo y gracias. :D

Por vega

20 de clabLevel



 

msie
Citar            
MensajeEscrito el 04 Jul 2007 01:16 pm
Ahi te va, esta en AS2...

Sustituye el arreglo noticias claro esta...

Código :

var i:Number = new Number();
var noticias:Array = new Array("Uruguay reventado en la Copa America","Clab y sus cambios","Opera al vacio");
for(i=0;i<=noticias.length-1;i++)
{
   /*
    * Creo los textFields dinamicos
    * createTextField(InstanceName,Profundidad,x,y,width,height)
    */
   _root.createTextField("noticia_" + i,i+1,10,i*14,200,20);
   /* Le pongo el texto a cada textInput [el del arreglo claro.;-)]*/
   _root["noticia_" + i].text = noticias[i]; 
}


saludos ^^

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 04 Jul 2007 01:24 pm
En AS3

Código :

var i:int = new int();
var noticias:Array = new Array("Uruguay reventado en la Copa America","Clab y sus cambios","Opera al vacio");

for(i=0;i<=noticias.length-1;i++)
{
   var obj:TextField = new TextField(); //Creo objeto TextField
   obj.text = noticias[i]; //Le pongo el txto a ese objeto Tipo Texto
   obj.y = i*15; //Le doy las coordenadas y
   obj.width = 200; //Le asigno un ancho para que se vea toda la info
   addChild(obj); //Añado al stage el opbjeto... ;-)
}


saludos ^^

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 04 Jul 2007 02:20 pm
Hola!!

Gracias por tu respuesta, pero una cosita. Mirando en los foros he encontrado una manera de hacerlo y yo lo he aplicado a lo que quiero hacer, el codigo es el siguiente:

Código :

function rellenar(){
   var i:Number;
   var total:Number;
   var y:Number;
   var titulo_txt:TextField;
   var fecha_txt:TextField;
   y=300;
   total=dataNoticias.arrayNoticias.length;
   for(i=total; i > 0 ; i--){
         y=y+60;
         _root.createTextField("titulo_txt"+i,i+1,90,y,268,18);         
         titulo_txt = _root["titulo_txt"+i];
         crear(titulo_txt,dataNoticias["noticia"+i].titulo);
         _root.createTextField("fecha_txt"+i,i+2,90,y+25,100,18);
         fecha_txt=_root["fecha_txt"+i];
         crear(fecha_txt,dataNoticias["noticia"+i].fecha)
         }
}

function crear(txt:TextField,dato:String){
      txt.text=dato;
      txt.background=true;
      txt.backgroundColor=0xD5D5D5;
      txt.Color=0x016975;
      txt.font="Gill Sans MT";
      txt.size=10;
      txt.multiline=false;
      txt.selectable=false;
   }


Lo que me ocurre es que la fecha si que veo pero el titulo solo me aparece el último, como podría hacer para que me apareciese todo?? Hay algún fallo??

Un saludo y gracias por la ayuda.

Por vega

20 de clabLevel



 

msie
Citar            
MensajeEscrito el 04 Jul 2007 02:27 pm
te sale el ultimo por que los estas apilando uno arriba del otro sin cambiarle la propiedad _y

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 04 Jul 2007 02:31 pm
Hola,

sí, hay un problema con las profundidades. Si pones dos TextField en la misma profundidad, solo aparecerá el último. Prueba a poner, por ejemplo, lo siguiente:

Código :

_root.createTextField("fecha_txt"+i,total+i+2,90,y+25,100,18);


en vez de

Código :

_root.createTextField("fecha_txt"+i,i+2,90,y+25,100,18);


aunque yo suelo usar la funcion getNextHighestDepth() para que no haya problemas de este tipo.

Saludos!

Por dmvalverde

150 de clabLevel



Genero:Masculino  

Extremadura

firefox
Citar            
MensajeEscrito el 04 Jul 2007 02:38 pm
Ya está solucionado. Muchas gracias!! :lol:

Por vega

20 de clabLevel



 

msie
Citar            
MensajeEscrito el 04 Jul 2007 02:49 pm
Bueno, ahora otra cosita. Cada noticia tiene una foto pero no las quiero visualizar hasta que se seleccione la noticia que quiera. Que tengo que crear botones ocultos a la par que creo los text_fields o en vez de crear text_fields creo botones directamente o que puedo hacer???? Ahora si que estoy perdidilla!!! :oops:

Gracias y un saludin.

Por vega

20 de clabLevel



 

msie
Citar            
MensajeEscrito el 04 Jul 2007 02:55 pm
Se me ha olvidado poner. Como limpio los text_fields? Es que cuando selecciono el menú se me quedan sin borrar, pongo _root.clear pero siguen aquí. Gracias!!!!!!!!!!!!!!!!!

Por vega

20 de clabLevel



 

msie
Citar            
MensajeEscrito el 04 Jul 2007 03:23 pm
Liso!!!!!!!!!!!!!!!!!!!!!!!!!!!

A la hora de crear los text_fields en vez de crearme en _root he puesto que me los cree en _root.contenedor02_createTextField, así me los crea en el contenedor que tengo en mi swf. Así a la hora de limpiar funciona igual que todos los demás swf-s que se cargan en el menú.

Bueno espero que le sirva de ayuda a más gente. Un saludo y hasta otra!!!!!! (lo de los botones no lo he conseguido eso todavía sigue en pie)

:D

Por vega

20 de clabLevel



 

msie
Citar            
MensajeEscrito el 25 Feb 2008 02:50 pm
Muy bueno vega!!!!!, creo que este ejercicio me servirá para lograr realizar el mio, que ya estaba desesperada...
Desde que pruebe te cuento.

Un saludo ^^

Por Uruviel

48 de clabLevel



Genero:Femenino  

msie7
Citar            
MensajeEscrito el 08 Sep 2008 02:51 pm
buenas, tengo un problema, a ver si me pueden ayudar x favor.
es un movieclip que apareceria la final de la aplicacion, mostrando una lista de items (un textfield x cada item).
estaba tratando que me genere dinamicamete los textfield, pero tengo el problema que (en el caso de haber solo dos items) se me borra el contenido del primer textfield y solo me aparece el segundo.

Código :

i=1;
while (i <= _root.totalItems){
   this.createTextField("itemBox"+i,this.getNextHighestDepth(),1.1,i+21,280.4,21.1);
   set("itemBox"+i+".text", eval("_root.item"+i) );
   i = i + 1;
}

muchas gracias desde ya, solo por tomarse el trabajo de leer y mil gracias al que me encuentre una solucion
PD: es en AS2, ya q desde linux no logre hacer correr el flash cs3 y estoy con el 8

Por pbosio

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Sep 2008 05:48 pm
Eso que has posteado no es AS2, es AS1, en AS2 esta puede ser una solución:

Código ActionScript :

for (i = 1; i <= _root.totalItems; i++){
   
   this.createTextField("itemBox" + i, this.getNextHighestDepth(), 1.1, i+21, 280.4, 21.1);   
   this["itemBox" + i].text = _root["item" + i];

}


Ahora, no te debería pasar lo que te sucede porque los textos los creas en diferentes profundidades, describe mejor que hace tu código, por ejemplo quiénes son las variables "item1", "item2", etc...

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 08 Sep 2008 09:05 pm
En lugar de i+21 seria mejor i*201

Código :

for (i = 1; i <=10; i++){ 
    
   this.createTextField("itemBox" + i, this.getNextHighestDepth(), 1.1, i*21, 280.4, 21.1);    
   this["itemBox" + i].text = _root["item" + i]; 
 
} 

Por DiegoAzul

376 de clabLevel



 

Mx

firefox
Citar            
MensajeEscrito el 08 Sep 2008 09:16 pm

DiegoAzul escribió:

En lugar de i+21 seria mejor i*21

gracias! eso me soluciono todo el problema (aunque no entiendo todavia pq, si i+21 tenia la distancia suficiente para q no se superpongan, pero gracias... flash no es lo mio pero algunas cosas no se pueden hacer sin)

Por pbosio

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Sep 2008 09:26 pm
No con i + 21 las coordenadas iban a ser 22, 23, 24, solamente un pixel de diferencia, mientras que con i * 21, serán 21, 42, 63, etc...

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 08 Sep 2008 09:29 pm
tenes toda la razon, despiste mio fue... muchas gracias por la ayuda

Por pbosio

1 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.