Comunidad de diseño web y desarrollo en internet online

usar variable para llamar a una funcion-->subir(variable)

Citar            
MensajeEscrito el 03 Sep 2005 04:29 pm
Buenas tardes a todos.
ya se han acabado las vacaciones asi que vuelvo a mi rutina.

resulta que estoy creando una variable:

var nombre:String;

nombre="clip" + i +"_mc";
y quiero llamar a una funcion

subir(nombre);

todo dentro de whiles y demás haciendo que la i vaya cambiando de valor.

lo que quiero es llamar a la misma funcion (subir) con clips de pelicula diferentes(clip1_mc, clip2_mc)

la gracia está en que la llamada a una funcion y la siguiente esta separada por un pequeño intervalo de tiempo.

el problema es que no me sale, me estoy equivocando en algo pero no caigo en que. Alguien que me pueda ayudar?

Por Rayworld

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 Sep 2005 05:21 pm
Hola, coloca tú código para que me de una idea de como ayudarte, de entrada lo que te puedo decir es que la función la puedes meter a un archivo .as externo y luego añadirlo a tu pelicula

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

mozilla
Citar            
MensajeEscrito el 03 Sep 2005 05:48 pm
el problema es que no me conecto desde el mismo pc.
Si es necesario para aclarar la pregunta me lo grabo y lo traigo aqui.
la funcion no es el problema. la funcion va. El problema es la llamada:

en lugar de que la funcion llame al movieclip clip1_mc (tal que: subir(clip1_mc) que está demostrado que funciona) quiero que sea una llamada dinamica, y que la funcion llame a cada uno de los movieclip.

yo creo una variable var variable:String;

y le asigno dentro de por ejemplo un for con i=0 a i=10 el siguiente valor: variable="clip" + i + "_mc;

si metiese dentro del for un trace variable me devolveria
clip0_mc
clip1_mc
...
clip9_mc

Código :


for (i=0;i<10;i++)
{
variable="clip" + i + "_mc;
trace (variable);
}


osea que la variable está bien construida y expresa justo lo que quiero q exprese.

ahora en ese for en lugar de un trace hago un:

subir(variable);

con esto cuando
i=0 seria subir(clip0_mc);
i=1 seria subir(clip1_mc);
y asi sucesivamente.

pero el subir(variable); no me va.

Código :

for (i=0;i<10;i++)
{
variable="clip" + i + "_mc;
subir (variable);
}


seguramente es que no estoy guardandolo en un tipo de dato adecuado, o algun problema creo que de facil solucion, pero es que no caigo.

Soy dificil de entender :lol:

Por Rayworld

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 Sep 2005 06:18 pm
Cual es el error que te da Flash al hacer eso?

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

mozilla
Citar            
MensajeEscrito el 03 Sep 2005 08:10 pm
no me da error, simplemente, no ejecuta la funcion. es como si llamase a un movieclip que no existe (el caso es que está comprobado que los movieclips se llaman asi) pero, por ser una variable la que le pongo a la funcion, no lo coge...

si quieres hacer la prueba haz una funcion que se pueda aplicar a un movieclip (por ejemplo un movimiento) y luego la llamas como te digo.

Código :

function mueve(movieclip)
{
movieclip._x=100;
}


crea un movieclip de nombre mc1_mc

y llama a la funcion

Código :

mueve(mc1_mc);


en este caso si que funcionaria

pero si la llamas de esta manera

Código :

var m:String;
m=mc1_mc;
mueve(m);

no va.

Mira si es muy lioso cuando tenga el codigo (esta noche o mañana mismo) te lo pongo todo para que le heches un vistazo.

ten en cuenta que el codigo me lo he inventado, aqui no tengo flash para saber si funciona o no, pero es un codigo sencillo y creo que funciona.

de todos modos es para que te hagas una idea.

Muchas gracias por tu atencion.

Saludos, Ray.

Por Rayworld

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 Sep 2005 10:16 pm
ok una cosa el hecho de que una variable tipo String tenga el mismo valor que el nombre de un MovieClip no quiere decir que lo puedas usar para referencias un MovieClip :wink: , haz esto:


Código :

function mueve(movieclip:MovieClip) 
{
movieclip._x=100;
} 

mueve(nombredeinstanciadeunmc);


listo, saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 03 Sep 2005 11:25 pm
pues muchisimas gracias. En cuanto pueda lo pruebo y os comento que tal me ha ido, y si todo me sale bien ya os enseñaré para que lo usaba y el sitio finalizado.

Por Rayworld

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Sep 2005 01:06 am

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

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