|
¿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: 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 Tags: recursos articulos flash tip |