Comunidad de diseño web y desarrollo en internet online

Problema con Array

Citar            
MensajeEscrito el 29 Oct 2006 06:47 pm
Hola soy nuevo! :)

Tengo un problema con un Array.
Lo que estoy intentando hacer es meter unos valores en un array mediante un bucle.

Es decir intento hacer esto

Código :

guardo= new Array (6);
 guardo [0] = caja1;
guardo [1] = caja2;
guardo [2] = caja3;
//y el resto hasta 6
 trace (guardo);

pero de esta forma empleando un bucle.

Código :

guardo= new Array (6);
function metoenguardo(){
for(i=0;i<6;i++){
guardo [i] = (caja+i);
 } 
  }
trace (guardo);

Cabe decir que son clips de pelicula, el código completo seria este.

Código :

obj = new Object();

obj._x = 300;
 for (i=0; i<6; i++) {
 nuevo = caja.duplicateMovieClip("caja"+i,i,obj);
 nuevo._y = i*100;
 }
guardo= new Array (6);
 function metoenguardo(){
for(i=0;i<6;i++){
guardo [i] = (caja+i);
 } 
  }
trace (guardo);

Me salen 6 undefined, soy un zarpas pero no lo entiendo.
¿Algún consejo?

Por chicledementa

3 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Oct 2006 07:11 pm
guardo [i] = "caja"+i;

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 29 Oct 2006 08:23 pm
Gracias por la respuesta _CONEJO. Pero lo he cambiado y no va.
Me he tirado un monton de horas con eso y sigo con la cabeza como una hormigonera.
Pero eso no es, el trace me sigue dando undefined.

Por chicledementa

3 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Oct 2006 10:13 pm
¿Alguna idea? ¿Alguien?

Por chicledementa

3 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Oct 2006 08:05 am
Me autorespondo, hola chicle la solucion es esta.

Código :

obj = new Object();
obj._x = 300;
 for (i=0; i<6; i++) {
 nuevo = caja.duplicateMovieClip("caja"+i,i,obj);
 nuevo._y = i*100;
 }
guardo= new Array ();
 for(i=0;i<6;i++){
guardo [i] = "caja"+i;
 } 
trace (guardo);

Por chicledementa

3 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Oct 2006 10:12 am
Vale que listo, no los asigna como clips de pelicula.
¿Alguien tiene alguna idea?
Es raro, lee el nombre del clip pero lo asigna como una variable.
Es decir ¿no se puede hacer esto con un bucle? Asignar los clips al array pero con un bucle for y poder acceder a uno mediante un boton.

Código :

obj = new Object();
obj._x = 300;
 for (i=0; i<4; i++) {
 nuevo = caja.duplicateMovieClip("caja"+i,i,obj);
 nuevo._y = i*100;
 }
guardo= new Array ();
guardo [0] = caja0;
guardo [1] = caja1;
guardo [2] = caja2;
guardo [3] = caja3;
trace (guardo);
//este boton es para desplazar uno de los clips
tu.onRelease=function(){guardo [0]._x=500}

Por chicledementa

3 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Oct 2006 01:21 pm
nombre = "caja"+i;
"caja" es un String, luego hace un casting (convierte el tipo de variable) a String,por lo tanto "nombre" es una cadena de texto, si lo que quieres es que haga referencia aun MC del escenario debes de hacerlo :

nombre = ruta["caja"+i]; donde ruta es la ruta hasta el mc, por ejemplo si es

_root.unMC.caja1 es _root.unMC["caja"+i]

por lo general con this["caja"+i] (si están al mismo nivel) es más que suficiente

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 30 Oct 2006 03:08 pm
Merci _CONEJO muy clara la explicación, ahora lo entiendo.

Un Saludo

Por chicledementa

3 de clabLevel



Genero:Masculino  

firefox

 

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