Comunidad de diseño web y desarrollo en internet online

Problema:Acceso a MC colocados en la linea de tiempo

Citar            
MensajeEscrito el 28 Ago 2008 11:40 am
Hola a todos:
Estoy haciendo un menu que contiene 4 botones, los botones los he colocado en la linea de tiempo manualmente arrastrandolos manualmente y a cada uno le he puesto un nombre de instancia( en el pestaña propiedades ).
Quiero que al presionar un boton el resto se desactiven (.enabled=false), el problema es que no consigo llegar hasta ellos, me explico.

Supongamos que presiono el boton1, en la funcion que captura este evento he puesto this.parent.boton2.enabled=false,
como haria en AS2 pero no hace nada, es mas, si hago trace(this.parent.boton2) me sale undefined.y si hago getChildByName("boton2") el resultado es null ya que se ve que el nombre de instancia que he puesto manualmente no es la propiedad .name de ese clip de pelicula.

Otra solucion es hacer un bucle en this.parent for(i=0;i<=this.parent.numchildren) pero lo he descartado porque menu_mc tiene otros elementos gradicos a parte de los botones y me daria error al intentar acceder a la propiedad enabled.

menu_mc --> boton1 //esquema de como esta compuesto menu_mc
-->boton2
...
-->graficos,etc
En resumen, algo tan sencillo que se hacia en AS2 ahora no se hacerlo, espero que mi explicacion este suficientemente clara para que alguien me pueda ayudar.
Muchas Gracias.

Por plebs

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Ago 2008 11:51 am
Lo mejor es que evites esta forma de trabajar y comiences a trabajar con clases, pero bueno postea el código que estás utilizando.

Por lo pronto te puedo decir que si dentro del evento dices:

Código ActionScript :

this.parent


Te estás refiriendo con "this" al objeto que contiene el evento en si, que me parece que es la línea de tiempo y no al botón que lanza el evento.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 01 Sep 2008 07:13 am
Cuando tenemos un MC con un nombre de instancia (p.e. mimc) es "como si" hubiéramos escrito

Código :

var mimc:ClassMC=new ClassMC() //<--la clase que sea
addChild(mimc)

Vamos que el nombre de instancia vienen a ser "variables que hacen referencia a un MC". Lo que hacíamos en AS.2 de tener un MC llamado "item0" y escribíamos

Código :

mimc=item0
//y a partir de ahora nos olvidamos de
//item0 y escribimos, p.e.
mimc._x=100

Así pues puedes tener un array con todos tus botones (sería un array de variables que hacen referencia a tus MCs

Código :

miarray=new Array(mimc0,mimc2,mimc3)
//ahora nos los podemos recorrer en un bucle
private function disablarBotones(e:event):void{
    for (var i in miarray){
        miarray[i].enabled=(miarray[i]==e.currentTarget)
    }
}

Por Eliseo2

710 de clabLevel



 

firefox

 

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