Recursos web, diseño, joomla!, tutoriales, opinión, algunas noticias...

Suscríbete a través del feed RSS
Recibe los últimos artículos a tu e-mail
Realizar una búsqueda

Un problema común en Flash: La comunicación entre MovieClips Compartelo!
miércoles, 13 de septiembre de 2006

Jerarquias¿Cuántas veces ha pasado que el maldito preloader no cargaba ó al presionar el botón no sucede lo que queríamos? Problemas típicos en Flash que por lo general tienen un mismo motivo: Una mala comunicación entre MovieClips.

 

Cuando nosotros creamos un MovieClip dentro de otro estamos generando un esquema jerárquico. Esta "anidación" creada da lugar a relaciones de parentesco entre Movieclips. Es asi que si tenemos tres Movieclips, uno dentro de otro, tendremos una relación de parentesco Abuelo>Padre>Hijo, como muestra la imágen de arriba.

 

Pueden ver que arriba de Abuelo tenemos a _root, este representa el "piso" en donde se encuentran alojados todos los MovieClips y elementos de la película. Sin _root no hay película.

 

En Flash existen dos tipos de comunicación: Absoluta y Relativa. Además poseemos 4 términos de referenciación: this (hace referencia al elemento en si), _parent (hace referencia al elemento padre), _root (hace referencia al piso de la película) y _level (hace referencia al nivel en donde está situado el elemento a hacer referencia).

 

La diferencia entre comunicación Absoluta y Relativa es que en la primera siempre se debe partir de _root.

 

Veamos algunos ejemplos. Tenemos esta jerarquía:

Ejemplo
 

1. Queremos ir de abuelo a hijo_1 y ejecutar stop():

Modo Absoluto: _root.abuelo.padre.hijo_1.stop();

Modo Relativo: padre.hijo_1.stop();

 

2. Queremos ir de  hijo_1 a hijo_2:

Modo Absoluto: _root.abuelo.padre.hijo_2.stop();

Modo Relativo: _parent.hijo_2.stop();

 

3. Queremos ir de abuelo a padre:

Modo Absoluto: _root.abuelo.padre.stop();

Modo Relativo: padre.stop();

 

4. Queremos ir de padre a padre (ir al mismo simbolo):

Modo Absoluto:  _root.abuelo.padre.stop();

Modo Relativo: this.stop();

 

5. Queremos ir de hijo_1 a abuelo:

Modo Absoluto: _root.abuelo.stop();

Modo Relativo: _parent._parent.stop();

 

 

Finalmente hay que tener en cuenta en dar nombre de instancia a todos los elementos enlazados o sino no podremos enlazar nada :D

 

 

¿Te interesó este artículo?Puedes suscribirte al feed RSS ó dejar tu email para recibir las últimas noticias, tal como lo hacen actualmente las 2276 personas que siguen al blog


..y tal vez te interese:




 Comentarios (3)
 1 Escrito por jose becerrit roo javier website, el 09-12-2007 20:29
nesesito encontra la comunicacion espontanea
 2 Escrito por jose javier website, el 09-12-2007 20:32
necesito encontra la comunicacion absoluta
 3 Escrito por Ruben website, el 11-01-2008 11:58
Es un problema muy comun en flash a mi me ha sucedido.


  • Por favor, mantenga el tópico de los mensajes en relevancia con el tema del artículo.
  • Lenguaje inapropiado será borrado.


Nombre:
E-mail:
Sitio Web:
Comentario:

Código:* Code

 
< Anterior   Siguiente >