Comunidad de diseño web y desarrollo en internet online

Por favor ayuda!! No identifico el fallo

Citar            
MensajeEscrito el 29 May 2005 10:31 am
Muy buenas:
Tengo un clip de instancia "tema", con un campo de texto, "texto".
Bien, si en el primer fotograma pongo este trozo de codigo:


//Mi codigo
for(i=1; i< 5; i++){
duplicateMovieClip("subtema", "subtema" + i, i);
mc=this["subtema"+i];
setProperty(mc,_y,subtema._y + 50*(i-1));
mc.texto="hola";
}
////////

Todo funciona correctamente, mi clip se duplica 5 veces, cada una en su sitio y el campo de texto pasa a mostrar "hola".
Ahora vamos a introducir un cambio, quiero que cargue un archivo externo "subtema.txt" donde esta la variable "numero" que me dirá el numero de veces que debo duplicar la pelicula, facil no? para ello, uso LoadVars:

//Mi nuevo codigo:
misubtemas= new LoadVars();
misubtemas.load("subtemas.txt");
misubtemas.onLoad= function(exito){
if (exito){
for(i=1; i<misubtemas.numero; i++){
duplicateMovieClip("subtema", "subtema" + i, i);
//Ahora no pongo this["subtema"+i] porque si no no lo coge....
mc=["subtema"+i];
setProperty(mc,_y,subtema._y + 50*(i-1));
mc.texto= "hola";
}
}

}

/////

Bueno, mi peli se duplica misubtemas.numero veces, toma la posicion correcta, peeero el campo de texto esta vez no se cambia...
si ponemos un trace(mc) vemos que vale subtema1, subtema2... respectivamente y si hacemos un trace(mc.texto) debajo de la instruccion mc.texto vemos que toma el valor "hola", pero sin embargo no lo muestra, ahora, si ponemos de forma manual subtema1.texto="hola" lo muestra correctamente. :shock:
Cual es mi fallo?? Alguna posible solucion?
Muchas gracias de antemano.

Por SirJAM

1 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 30 May 2005 01:15 pm
Dos problemas:
1. cuando se levanta desde un txt lo que selevanta son literales, es decir tenes que pasar a numero el de comparacion:

Donde dice:
i<misubtemas.numero

debe decir: i<Number(misubtemas.numero)

2. donde dice:

mc=["subtema"+i];
setProperty(mc,_y,subtema._y + 50*(i-1));
mc.texto= "hola";

suplantalo por:

mc="sbutema"+String(i);
this[mc].text="hola"; <-- aqui pusiste una o de mas.

Por La_Gata

123 de clabLevel



 

msie
Citar            
MensajeEscrito el 30 May 2005 04:01 pm
Muchas gracias, no sabia que existieran funciones tipo int(numero) de c++.

Encuanto a lo de porque no escribia, he visto que si hago una funcion con el bucle for, y luego la llamo en if(exito) me funciona igualmente, aunqye esto era un poco chapucerillo...

Por SirJAM

1 de clabLevel



Genero:Masculino  

msie

 

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