Entradas con la etiqueta ‘parent’

Reparentar en AS3 con addChild

Publicado por Iván Gajate el 13 de Diciembre de 2008 en AS3, Flash, Tutoriales | 2 comentarios »

Una de las cosas que permite AS3 es cambiar un objeto a la lista de visualización de otro contenedor.

Si tenemos un clip de película en el escenario principal, tal vez nos interese colocarlo dentro de otro clip, para hacerlo arrastrable, o para que adquiera las modificaciones de forma de su contenedor… pero sin tener que eliminarlo y volverlo a crear dentro, como ocurría en AS2.

Podemos asignarle los listeners en una clase y luego mandarle la referencia a cualquier otra clase por muy profunda que esté, para que haga el addChild, y nuestros listeners seguirán apuntando a las funciones de la primera clase. Brutal!

Vamos a verlo con un ejemplo sencillo pero muy común:

 

Requerimientos: Nos mandan hacer una botonera para un menú lateral, y como no nos dicen nada, pues la programamos en nuestra clase principal, le asignamos los listeners ahí para que cuando se pulse un botón, cargar otra sección en ese mismo ámbito. Como todo está al mismo nivel, es fácil recoger los eventos y actuar en consecuencia.

// Creo una botonera con 5 botones
_botonera = new Botonera(["Quienes somos", "Trabajos", "Contrátanos", "Soluciones", "Contacto"]);

// Le pongo un listener para el evento "botonPulsado" que emite cada vez que se pulsa un boton
_botonera.addEventListener("botonPulsado", opcionSeleccionada);

// La añado al escenario principal. Por defecto en el 0,0
this.addChild(_botonera);

Leer el resto de esta entrada