Comunidad de diseño web y desarrollo en internet online

Demonios con el _root!

Citar            
MensajeEscrito el 21 Oct 2008 08:50 pm
Hola a todos en el foro!, tengo un inconveniente muy grave. Tengo una página web hecha en Flash con AS 2.0 por completo, el problema radica que dentro de la pelicula "Madre" por decirlo así o la principal, se carga una película "Hija" o secundaria, en donde dentro de ese película hija se encuentra un MovieClip, llamemoslo "MC1", y dentro de ese MC1 se encuentra un Boton "BTN1" con otro MovieClip "MC2", ahora, cuando yo le doy click al BTN1 el ejecuta el siguiente código:

Código :

on(release){
   _root.disecMC.LetterDISEC._visible = false;
   _root.disecMC.LetterDISEC.play();
}

Donde "disecMC" es mi MC1 y "LetterDISEC" es mi MC2, y bueno cuando ejecuto esa película Hija sola todo funciona bien, el código hace lo que tiene que hacer, pero cuando la ejecuto dentro de la palícula Madre no funciona, se que es por el root pero no se como acomodarlo he intentado el _parent el this el _level pero no se usarlos bien, si porfavor me pudiesen ayudar salvarían mi vida jaja :P

Gracias de antemano! cualquier pregunta posteen!.

Por xflash08

6 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 21 Oct 2008 09:17 pm
el "_root" te lleva ala raiz de todo el "_parent" solo te devuelve un nivel el "this" es el nivel actual en el q estas, para ir hacia a adelante lo haces separando los nombres de instancia con los puntos nivel1.nivel2nivel3.etc...

es muy facil y mas con los poquitos niveles q tienes

Por el_putas

58 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Oct 2008 09:22 pm
Osea me sugieres que haga un _root._parent.this.disecMC.LetterDISEC?? jeje

Por xflash08

6 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 21 Oct 2008 09:35 pm
:roll: eso fue lo q entendiste.......

Por el_putas

58 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Oct 2008 09:36 pm
No, lo mejor que puedes hacer en la vida es dejar de usar _root. Ya te das cuenta de que te da más problemas de los que resuelve.
De momento, una solución simple es que coloques en la película hija _lockroot = true.
Una solución más profesional y escalable la puedes obtener si colocas "scope" en el buscador y lees un tuto que hay en clab al respecto.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 21 Oct 2008 09:39 pm
Jajaja no 'el_putas' eso no fue lo que entendi pero igual no entendi osea no me dijiste si poner this o _parent o que... y 'The Fricky' te refieres a poner _lockroot = true en el primer frame de actionscript de la pelicula hija?

Gracias por ayudarme ambos!!

Por xflash08

6 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 21 Oct 2008 09:44 pm
Me refiero literalmente a eso:
Abres la película hija y escribes en el primer fotograma:

Código ActionScript :

_lockroot = true;

_lockroot lo que hace es "bloquear" la raíz, impidiendo que se refiera a la película madre.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 21 Oct 2008 09:48 pm
Funciono!! Excelente funcionó de maravilla!! Dios gracias! jaja muchas gracias a ambos!, ya me estoy estudiando el Tutorial que me recomendaste The Fricky quiero hacerlo mas profesional pero por ahora esta solución servirá!.

Gracias a los dos una vez mas!

Por xflash08

6 de clabLevel



Genero:Masculino  

safari

 

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