Comunidad de diseño web y desarrollo en internet online

Asignar addEventListener dinamicamente AS3

Citar            
MensajeEscrito el 10 Mar 2010 05:39 pm
Hola, soy un poco nuevo en esto y me surge un problema cuando intento crear unos botones de forma dinamica. Os cuento en si todo el problema:
1- Yo importo a un flas un trazado de illustrator y lo convierto en clip de pelicula (mc_comarcas, nombre de instancia i_mc_comarcas)
2- En este trazado, dentro, he creado unos botones (bt_1, bt_2, ...) cada uno con una forma diferente. Los botones los creo y le asigno un nombre de instancia a cada uno (i_bt_1, i_bt_2, ... )
3- Resulta que lo que quiero es asignar un detector de eventos en concreto a cada uno, es decir, i_mc_comarcas.i_bt_1.addEventListener(MouseEvent.CLICK, irAPagina);
i_mc_comarcas.i_bt_2.addEventListener(MouseEvent.CLICK, irAPagina);
...
, esto lo querría hacer de forma dinamica, es decir, yo lo que he intentado es
for (i=1; i<=97; i++){
this["i_mc_comarcas.i_bt_" + i +".addEventListener(MouseEvent.CLICK, irAPagina);"]
}

function irAPagina (event: Event): void {
navigateToURL(new URLRequest("http://www......"));
}

Al hacer esto lo que quiero es que a cada boton se le asigne que al hacer click sobre el boton se vaya a una dirección en concreto pero no lo hace.

Si hay alguien que sepa como hacerlo se lo agradeceria.

P.D: he probado tambien ha poner this["i_mc_comarcas.i_bt_" + i].addEventListener(MouseEvent.CLICK, irAPagina); y tampoco funciona.

Por siropa

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 10 Mar 2010 05:48 pm
Prueba:

MovieClip(i_mc_comarcas["i_bt_" + i]).addEventListener(MouseEvent.CLICK, irAPagina);

Si no es un MovieClip y es un Button, cambia el cast del principio

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Mar 2010 06:42 pm
Muchas gracias, era como has comentado, he tenido que usar SimpleButton(i_mc_comarcas["i_bt_" + i]).addEventListener(MouseEvent.CLICK, irAPagina);

Un saludo y gracias

Por siropa

6 de clabLevel



 

msie

 

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