Comunidad de diseño web y desarrollo en internet online

Niveles de movie clip

Citar            
MensajeEscrito el 02 Oct 2009 11:39 am
Hola a todos,

tengo un problemilla, que a ver si soy capaz de explicar...

Tengo una animación en flash con una única escena, en esa escena hay 3 botones que cargan 3 clips de película:

Código ActionScript :

fenavin.onRelease = function () {
var obj = _root.attachMovie("fenavin_peli","fenavin_evento",this.getNextHighestDepth(1));
obj._x = 10; 
obj._y = 155;
}
pamplona.onRelease = function () {
var obj = _root.attachMovie("PAMPLONA_peli","PAMPLONA_evento",this.getNextHighestDepth(1));
obj._x = 10; 
obj._y = 155;
}
cuenca.onRelease = function () {
var obj = _root.attachMovie("cuenca_peli","cuenca_evento",this.getNextHighestDepth(1));
obj._x = 10; 
obj._y = 155;
}
stop();


a su vez, cada una de estas películas cargadas contiene varios botones que cargan otras películas. Os pongo un ejemplo de cómo las cargo:

Código ActionScript :

on (press) {
var obj = _root.attachMovie("UTP2_peli","UTP2",2);
obj._x = 421; 
obj._y = 479;
}


Esto en cada botón (bueno, cambiando los nombres de los clips lógicamente). Pues el problema es que cuando paso de una animación a otra mediante uno de los 3 botones que contiene la animación principal, se me queda residual un clip cargado en la animación que le precede. Lo que voy haciendo es machacar un clip con otro, porque no he puesto botón para cerrar los clips.
Entiendo que este problema se me da por los niveles de profundidad del clip, estos que se me quedan residuales están por encima de los otros, los principales, pero no sé cómo solucionarlo.

Había probado a hacerlo en diferentes escenas, oséa que cada botón de la animación principal llame a los clips que contienes más botones que llaman a otros clips de la siguiente manera:

Código ActionScript :

on(press) {
gotoAndPlay("01",1);
}

pero se me sigue quedando el clip por encima y hasta que no le doy a otro botón que cargue un clip al mismo nivel no lo machaca.
Pues lo que quiero es que cuando le de a un botón de la animación principal me parta desde 0, es decir, que cargue la animación que corresponde a ese botón y nada más...

Pondría el ejemplo, que lo tengo subido a un servidor para que se entienda mejor, pero no creo que pueda porque el proyecto está sin finalizar, lo siento.

Espero haberme explicado bien, que es algo difícil.

¿Alguien sabe?

Gracias de antemano, saludos.

Por ardardina

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Oct 2009 03:45 pm
deja tu código con un solo nivel y no el siguiente disponible

Código ActionScript :

var obj = _root.attachMovie("fenavin_peli","fenavin_evento",1); 

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 05 Oct 2009 11:29 am
Hola Nasho,

en realidad ya probé a hacerlo así, y ahora lo he vuelto a probar, pero sigue pasando lo mismo, se me queda por encima.
Tengo que poner los botones principales con el código:

Código ActionScript :

fenavin.onRelease = function () {
var obj = _root.attachMovie("fenavin_peli","fenavin_evento",1);
obj._x = 10; 
obj._y = 155;
}


y el código de los botones que contiene el clip fenavin_evento con el siguiente código:

Código ActionScript :

on (press) {
var obj = _root.attachMovie("UTF1_peli","UTF1",this.getNextHighestDepth);
obj._x = 420; 
obj._y = 479;
} 

o

Código ActionScript :

on (press) {
var obj = _root.attachMovie("UTF1_peli","UTF1",this.getNextHighestDepth(1));
obj._x = 420; 
obj._y = 479;
} 


que en realidad me hacen lo dos lo mismo. Pero si lo pongo todo como tú me comentabas

Código ActionScript :

on (press) {
var obj = _root.attachMovie("UTF1_peli","UTF1",1);
obj._x = 420; 
obj._y = 479;
} 

me lo muestra donde al flash le parece bien, no me respeta la x ni la y.

Ya no se que haceeeeer, he probado todas las combinaciones que se me ocurrían, incluso como comentaba, haciéndolo por escenas también se me quedan los clips de película secundarios por encima de los otros.

¿Se te ocurre por qué?

Graciaaaasss

Por ardardina

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Oct 2009 03:19 pm
usa _root.getDepth(1) para el nivel en los mc secundarios

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 06 Oct 2009 11:02 am
Pues seguimos igual... lo he puesto pero no cambia en nada.
¿Puede tener algo que ver con la versión de flash que tengo?
Tengo el Macromedia Flash Professional 8, pero no tengo opción de tener una versión superior, me tengo que apañar con este.
No sé si a lo mejor lo que tú propones es en AS3 y por eso no funciona...
No sé, soy inexperta, pero se me ocurre como opción. No entiendo porque me sigue haciendo lo mismo...

Por cierto, muchas gracias nuevamente, que no te he dicho nada. ¿Crees que tiene que ver con la versión o es otra cosa?

Por ardardina

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Oct 2009 02:38 pm
No, esto es AS2 y de versión no creo, aquí en la oficina tengo el 8, entonces si debería de funcionar...

a ver los botones principales tienes

Código ActionScript :

fenavin.onRelease = function () { 
 obj = _root.attachMovie("fenavin_peli","fenavin_evento",1); 
  obj._x = 10;  
  obj._y = 155; 
} 

y en los que están dentro de esos mc

Código ActionScript :

dentro_de_fenavin.onRelease = function () { 
  obj = _root.attachMovie("UTF1_peli","UTF1",_root.getDepth(1)); 
  obj._x = 420;  
  obj._y = 479; 
} 

lo que pasa es que estas usando el nivel 1 de profundidad en la raíz, entonces para los botones que están dentro de los mc's necesitas hacer referencia al nivel 1 de la raiz.

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 06 Oct 2009 03:28 pm
Pues chico no sé... Lo tengo tal y como me pones tú, con la salvedad de que el código de los botones que tengo dentro de los mc principales lo tengo puesto directamente en el botón, en lugar de llamarlos mediante una función

Código ActionScript :

on (release) {
var obj = _root.attachMovie("UTF1_peli","UTF1",_root.getDepth(1));
obj._x = 420; 
obj._y = 479;
}

Entiendo que esto no debe afectar, y por lo demás todo exactamente igual.
¿?

Por ardardina

13 de clabLevel



 

msie8
Citar            
MensajeEscrito el 06 Oct 2009 07:23 pm
No sería más sencillo si creas varios archivos(swf's) y los vas llamando en un contenedor(mc), así tendrías más control.

Ayer lo hice como te dije y salio muy bien, y hoy no se puede :S

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 07 Oct 2009 07:16 am
Pues mira sí, al final lo voy a hacer así, aunque quería evitarlo porque de esa manera tengo que modificar bastantes cosas, pero es que no hay manera mediante attachMovie, así que lo hago mediante loadMovie y me quito de más rollos, que le he tenido que dedicar a esto muchísimo más tiempo de lo que hubiera querido.

Graciaaaaaaas por todo. Saludos compañero.

Bye,
M.

Por ardardina

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Oct 2009 08:20 am
Hey, ya lo he hecho, ahora perfecto :)

Yupiii, por fin.

Por ardardina

13 de clabLevel



 

firefox

 

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