Comunidad de diseño web y desarrollo en internet online

pasar arrays a textFields?

Citar            
MensajeEscrito el 10 Ago 2005 09:02 pm
Hola! como veo que aca saben mcuho me voy a mandar de lleno con las preguntas q me aquejan, veo que puedo aprender un monton aqui, y espero serle de utilidad a alguien tambien.
Mi nuevo problema es pasar arrays a traves de un for, a una caja de texto"txt" que es duplicada dentro de un moviclip "texto". el codigo es el siguiente

Código :

nuevoTexto = "texto"+i;
   texto.duplicateMovieClip(nuevoTexto, i+6);
   nuevoTextoPosicion = eval(nuevoTexto);
   nuevoTextoPosicion._x = nuevoTextoPosicion._x+75*i;
   array = new Array();
   array = ["bienvenidos", "portfolio", "animaciones", "contacto"];
   arrayElements = array[i];
   nuevoTexto.txt.text = arrayElements
   trace(arrayElements);

cuando ejecuta el trace, el for para el array y la caja de texto esta perfecto:
boton0
texto0
bienvenidos
boton1
texto1
portfolio
boton2
texto2
animaciones
boton3
texto3
contacto
boton4
y así, el problema es que no se como pasarle a cada nueva caja duplicada(la caja se llama "txt" y esta alojada en el MC "texto" que es el que duplico), el array 0, el 1 , etc. pensaba que con la variable nuevoTexto, que es igual a "texto"+i asociada a la variable arrayElements se solucionaria el problema, pero no es asi.
:?
ayudaaaaaa!

Por flashboy

10 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 10 Ago 2005 09:07 pm
uuuppps, me olvide de pasarles lo del for, aqui va el codigo comlpeto:

Código :

for (i=0; i<=5; i++) {
   nuevo = "boton"+i;
   boton.duplicateMovieClip(nuevo, i);
   trace(nuevo);
   nuevaPosicion = eval(nuevo);
   nuevaPosicion._x = nuevaPosicion._x+75*i;
//-------------------------------------------
   nuevoTexto = "texto"+i;
   texto.duplicateMovieClip(nuevoTexto, i+6);
   trace(nuevoTexto);
   nuevoTextoPosicion = eval(nuevoTexto);
   nuevoTextoPosicion._x = nuevoTextoPosicion._x+75*i;
   /*texto0.txt.text = "bienvenidos";
   texto1.txt.text = "portfolio";
   texto2.txt.text = "animaciones";
   texto3.txt.text = "contacto";*/
   array = new Array();
   array = ["bienvenidos", "portfolio", "animaciones", "contacto"];
   arrayElements = array[i];
   nuevoTexto.txt.text = arrayElements;
   trace(arrayElements);
}
boton0.onPress = function() {
   texto4.txt.text = "salir";
};

Por flashboy

10 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 10 Ago 2005 10:54 pm
primero saca esto del for:

Código :

array = new Array();
array = ["bienvenidos", "portfolio", "animaciones", "contacto"];

estas creando 6 veces el mismo array :crap:

aqui:

Código :

for (i=0; i<=5; i++)

el arreglo solo tienes 4 posiciones, por que recorres 6? te lo digo porque i en ese for toma los valores: 0,1,2,3,4,5 por el <= , si te fijas esta accediendo a posiciones del arreglo indefinidas aqui:

Código :

arrayElements = array[i]; // para i=4 y i=5


Ahora cual es el error que te da? :? no veo donde le asignas nuevoTexto a los textos dinámicos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 11 Ago 2005 02:45 am
Hola!
gracias por la respuesta tan pronta. ya saque el array del for, jeje.
a txt (que es la caja de texto anidada en el mc "texto")le asigno los textos del array a traves del siguiente codigo, que si lo deje en el for porque necesito que se vallan incrementando sus valores:

Código :

arrayElements = array[i]; 
   nuevoTexto.txt.text = arrayElements; 

nuevoTexto es igual al MC "texto"+i, txt es la caja de texto que duplico a traves de "texto", ya que esta anidada en este ultimo MC, y crei que le pasaba los elementos del array a las cajas de texto a traves de

Código :

nuevoTexto.txt.text = arrayElements; 

no entiedno porque no me pasa el array de uno en uno a las cajas de texto "txt" anidadas en "texto", en el trace lo hace, y si escribo por ejemplo

Código :

 texto0.txt.text= array [0]
, funciona. :( yo lo queria hacer dinamico, no escribir cada elemento del array para cada texto. no entiendo en qué estoy fallando, ya le complete los elementos que faltaban del array y sigue sin funcionar... :?
gracias por tu atencion

Por flashboy

10 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 11 Ago 2005 05:40 am
acá va el codigo completo en limpio hasta ahora:

Código :

array = new Array();
array = ["bienvenidos", "portfolio", "animaciones", "contacto", "videos", "nose"];
for (i=0; i<=5; i++) {
   nuevoTexto = "texto"+i;
   texto.duplicateMovieClip(nuevoTexto, i+6);
   trace(nuevoTexto);
   nuevoTextoPosicion = eval(nuevoTexto);
   nuevoTextoPosicion._x = nuevoTextoPosicion._x+75*i;
   arrayElements = array[i];
   nuevoTexto.txt.text = arrayElements;
   
}
/

el txt esta alojado en el mc q duplico que es le movieclip texto, y así es que tengo 6 textFields alojados en 6 mc texto (1,2,3-6). Ahora yo quiero poner en cada uno de esos textField alojados introducirles un elemento del array a cada uno de acuerdo con la logica del for():
al txt0 -que se crea de forma rara por estar alojado en el mc- asignarle el elemento 0 del array, que vendria a ser "bienvenidos", y así.
yo intento asignarle el array a los textFields (txt) a traves de nuevoTexto.txt.text=arrayElements, a traves del codigo ultimo:

Código :

arrayElements = array[i];
nuevoTexto.txt.text = arrayElements;

no se me ocurre de que otra forma podria hacerlo.
con un array, o escribiendo uno por uno los numeros del array o le contenido para cada caja de texto. Recordemos que nuevoTexto es igual al mc "texto"+i y.txt es la textField que corresponde a cada mc "texto".
sale?
:) :wink:

Por flashboy

10 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 25 Ago 2005 07:13 am
HOla! ya soluciones el problema y como veo q mucha gente se intereso en esto, les mando el codigo q lo soluciona

Código :

array = new Array();
array = ["bienvenidos", "videos", "animaciones", "portfolio", "contacto", "nose"];
for (i=0; i<=5; i++) {
   nuevoBoton = "boton"+i;
   boton.duplicateMovieClip(nuevoBoton, i);
   nuevaPosicion = eval(nuevoBoton);
   nuevaPosicion._y = nuevaPosicion._y+19*i;
   this[nuevoBoton].createTextField("texto", 100, boton, boton, 65, 25);
   arrayElements = array[i];
      this[nuevoBoton].texto.text = arrayElements;
   this[nuevoBoton].texto.setTextFormat(newFormat);

El problema estaba en el metodo para llamar al MC duplicado(esto de "this[nuevoBoton].blabla"), si alguien puede explicarme porque ha de ser asi la forma de llamar al MC duplicado, buenisimo :D
Saludos!

Por flashboy

10 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 25 Ago 2005 01:27 pm

Por Jorgelig

Claber

3035 de clabLevel

12 tutoriales

 

Monterrey, Nuevo Leon, MX

firefox

 

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