Comunidad de diseño web y desarrollo en internet online

Nombres dinámicos

Citar            
MensajeEscrito el 14 Sep 2011 10:28 am
Hola.

Hago una cosa con AS3 de forma muy manual que quiero hacer más dinámica.

Ahora tengo algo del estilo (y funciona):

Código ActionScript :

var c:MovieClip;
switch (MovieClip(parent).pagActual) {
   case 1:
      c = MovieClip(parent).p1;
      break;
   case 2:
      c = MovieClip(parent).p2;
      break;
   case 3:
      c = MovieClip(parent).p3;
      break;
}


Pero lo que quiero es algo de estilo (y que de momento no funciona):

Código ActionScript :

var c:MovieClip;
c = MovieClip(parent).("p" + pagActual);


Siendo el valor de pagActual siempre es un entero.

Prové con c = MovieClip(parent).MovieClip("p" + pagActual) y con c = MovieClip(parent).this["p" + pagActual] pero no funciona. Me da el error "Operador de filtro no admitido".

¿Alguna idea?

Saludos y gracias.

Por nesta

12 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Sep 2011 01:39 pm
Prueba

MovieClip(parent["p"+pagActual])

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 14 Sep 2011 01:45 pm
Si lo de Jorge no te funciona (que no lo sé porque no lo he probado, no tengo Flash en este equipo), podrías probar poniéndole nombres a tus clips (atributo name) y utilizando el método getChildByName(...).

De todos modos, si lo que dijo Jorge funciona, yo lo usaría, ya que te ahorras tener que modificar el atributo name.

Un saludo :)

Por nestorrente

1010 de clabLevel

10 tutoriales

 

Vigo

firefox
Citar            
MensajeEscrito el 14 Sep 2011 02:00 pm
¡Buenísimo! Ha funcionado.

Solo he tenido que hacer una modificación a partir de lo que decía Jorge. Yo quería algo del estilo:

Código ActionScript :

var c:MovieClip = MovieClip(parent).("p" + pagActual);


... y me han propuesto poner:

Código ActionScript :

var c:MovieClip = MovieClip(parent["p" + pagActual]);


...que con mi modificación al final, por que pagActual también está en el parent, ha quedado finalmente como:

Código ActionScript :

var c:MovieClip = MovieClip(parent["p" + MovieClip(parent).pagActual]);


Lo dicho, muchas gracias a todos.

Por nesta

12 de clabLevel



 

firefox

 

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