Comunidad de diseño web y desarrollo en internet online

Dilema con loadMovieNum

Citar            
MensajeEscrito el 23 Nov 2006 06:54 pm
Estoy tratando de hacer algo que en principio me parece imposible pero quiza este haciendo algo mal asi que dejo la pregunta:
Tengo una pelicula principal con 4 botones que enlazan a 4 peliculas secundarias. Las cuatro secundarias deben cargar sus dos swf externos "Cabecera y Cuerpo". Esto lo estoy haciendo con loadMovie. Os muestro un esquema:
Pelicula principal:
    Pelicula1.swf:
      Cabecera1.swf
      Cuerpo1.swf

    Pelicula2.swf:
      Cabecera2.swf
      Cuerpo2.swf

    Pelicula3.swf:
      Cabecera3.swf
      Cuerpo3.swf

    Pelicula4.swf:
      Cabecera4.swf
      Cuerpo4.swf

Lo que quiero hacer es que al pulsar un botón este carge "Cabecera y Cuerpo" pero que por ejemplo "Cabecera1" se le superponga "Cabecera2".
Yo a los botones les ponia esto (cambiando el numero final) pero no me funciona:

Código :

on (press) {
   loadMovieNum("Cabecera1.swf", getNextHighestDepth);
   loadMovieNum("Cuerpo1.swf", 2);
}


Quizá alguien tiene una idea de como hacer esto.

:swat: *Editado zguillez: utiliza las etiquetas [code] para postear código

Por celentano

Claber

123 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Nov 2006 08:15 pm
Algo que me ha dado resultado en estos casos es usar:

Código :

myClip2._visible=false;
//y
myClip._visible=true;

no se si esto te ayude.

:swat: *Editado zguillez: utiliza las etiquetas [code] para postear código

Por Roger Ramos

5 de clabLevel



Genero:Masculino  

demo.vfutura.net

msie7
Citar            
MensajeEscrito el 23 Nov 2006 08:45 pm
Hola, prueba de cargar los swf externos no con loadMovieNum sino con loadMovie (o loadClip) dentro de MovieCLips vacios. Luego a esos MovieClips le puedes cambiar el depth y crear las superposiciones de clips que te interesen.

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

firefox
Citar            
MensajeEscrito el 23 Nov 2006 11:31 pm
A ver si te entendi bien. Dices que cree un movie clip vacio por cada cabecera: Contenedor1, Contenedor2, Contenedor3, Contenedor4. Estos los coloco en la pelicula principal con los botones. Luego inserto este code en cada uno de los botones:

Código :

on(Press)
   {
   loadMovieNum("Cuerpo1.swf", 1 );
   loadMovie("Cabecera1.swf", _root.Contenedor1);
   }

Y finalmente tengo duda de como asignale el depth a cada movie vacio. ¿Como sería ?
Gracias por tu respuesta

:swat: *Editado zguillez: utiliza las etiquetas [code] para postear código

Por celentano

Claber

123 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Nov 2006 11:58 pm
a ver.. te creas un MovieClip para cada pelicula que cargues, no utilices loadMovieNum para NADA...
carga siempre las cosas con loadMovie o loadClip dentro de clips vacios:

Código :

this.createEmptyMovieClip("cabecera_mc1", this.getNextHighestDepth());
this.createEmptyMovieClip("cuerpo_mc1", this.getNextHighestDepth());
loadMovie("Cabecera1.swf", cabecera_mc1);
loadMovie("Cuerpo1.swf", cuerpo_mc1);
cabecera_mc1._x = 50;
cabecera_mc1._y = 50;
cuerpo_mc1._x = 50;
cuerpo_mc1._y = 100;

La creación de los clips vacios y la posición en pantalla la puedes hacer por programación o manualmente...

Una vez tengas los clips dentro de la pelicula puedes ir cambiando la profuncidad de los clips para que te queden en el orden que te interese.

Código :

//esto intercambia el orden de los dos clips
cabecera_mc1.swapDepths(cuerpo_mc1);
//esto colocariá el clip cabecera_mc1 en primer plano
cabecera_mc1.swapDepths(this.getNextHighestDepth());

A partir de aqui tu mismo...

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

firefox
Citar            
MensajeEscrito el 24 Nov 2006 08:44 pm
De nuevo tengo un problemilla. Cuando inserto el codigo en el boton (que en realidad es un movieclip) el boton que presiono desaparece de escena para cargar la cabecera y cuerpo. ¿Es posible que se sustituya el boton por el contenido? ¿que podría estar mal?

Código :

on (press) {
   createEmptyMovieClip("cabecera_mc1", this.getNextHighestDepth());
   createEmptyMovieClip("cuerpo_mc1", this.getNextHighestDepth());
   loadMovie("cabecera1.swf", cabecera_mc1);
   loadMovie("cuerpo1.swf", cuerpo_mc1);
   cabecera_mc1._x = 0;
   cabecera_mc1._y = 0;
   cuerpo_mc1._x = 0;
   cuerpo_mc1._y = 0;
}

Por celentano

Claber

123 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 25 Nov 2006 12:13 am
No coloques el código en el MovieClip, colocalo en el fotograma:

Código :

boton.onRelease = function() {
   createEmptyMovieClip("cabecera_mc1", this.getNextHighestDepth());
   createEmptyMovieClip("cuerpo_mc1", this.getNextHighestDepth());
   loadMovie("cabecera1.swf", cabecera_mc1);
   loadMovie("cuerpo1.swf", cuerpo_mc1);
   cabecera_mc1._x = cabecera_mc1._y = cuerpo_mc1._x = cuerpo_mc1._y = 0;
}

Al MovieCLip le has de colocar el nombre de instancia "boton" (o el que quieras...)

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

firefox
Citar            
MensajeEscrito el 26 Nov 2006 10:07 pm
De nuevo aquí, profundizando en esto que me sugeriste y que no me da el resultado que esperaba. Bueno. Seguí tu consejo de poner el codigo en el fotograma y no en cada boton:

Código :

boton.onRelease = function() {
   createEmptyMovieClip("cabecera1", this.getNextHighestDepth());
   createEmptyMovieClip("cuerpo", this.getNextHighestDepth());
   loadMovie("cabecera1.swf", cabecera1);
   loadMovie("cuerpo1.swf", cuerpo1);
}
boton2.onRelease = function() {
   createEmptyMovieClip("cabecera2", this.getNextHighestDepth());
   createEmptyMovieClip("cuerpo", this.getNextHighestDepth());
   loadMovie("cabecera2.swf", cabecera2);
   loadMovie("cuerpo2.swf", cuerpo);
}
boton3.onRelease = function() {
   createEmptyMovieClip("cabecera3", this.getNextHighestDepth());
   createEmptyMovieClip("cuerpo", this.getNextHighestDepth());
   loadMovie("cabecera3.swf", cabecera3);
   loadMovie("cuerpo3.swf", cuerpo);
}
boton4.onRelease = function() {
   createEmptyMovieClip("cabecera4", this.getNextHighestDepth());
   createEmptyMovieClip("cuerpo", this.getNextHighestDepth());
   loadMovie("cabecera4.swf", cabecera4);
   loadMovie("cuerpo4.swf", cuerpo);
}

De esta manera se carga la cabecera de boton pulsado y no carga el cuerpo (parece que carga lo primero que lee) por otra parte la pelicula principal desaparece (o pasa a un segundo plano). He probado a crear fuera del boton el clip vacio:

Código :

createEmptyMovieClip("cabecera", 1);
createEmptyMovieClip("cuerpo", 2);
home.onRelease = function() {
   loadMovie("cabecera1.swf", cabecera);
   loadMovie("cuerpo1.swf", cuerpo);
}

...y así sucesivamente con los 4 botones
Asi si se me cargan los .swf pero tengo no consigo solucionar que las distintas cabeceras se cargen una encima de otra sin perder la primera.
Tambien he probado con swapDepths y parece que solo funciona la primera vez.
Tal vez se te ocurra algo para solucionarlo. Yo sigo trasteando a ver si doy con ello.
Gracias por el interes y tu ayuda.

Por celentano

Claber

123 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 Nov 2006 01:02 am
Prueba:

Código :

createEmptyMovieClip("cabecera1", this.getNextHighestDepth());
createEmptyMovieClip("cabecera2", this.getNextHighestDepth());
createEmptyMovieClip("cabecera3", this.getNextHighestDepth());
createEmptyMovieClip("cabecera4", this.getNextHighestDepth());
createEmptyMovieClip("cuerpo", this.getNextHighestDepth());
boton1.onRelease = function()
{
   cabecera1.swapDepths(this._parent.getNextHighestDepth());
   loadMovie("cabecera1.swf", cabecera1);
   loadMovie("cuerpo1.swf", cuerpo);
};
boton2.onRelease = etc...

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

firefox
Citar            
MensajeEscrito el 27 Nov 2006 05:47 pm
Bien, esto funciona pero sólo si pulsas por orden boton1,boton2, boton3,boton4. En el momento que se cambia este orden deja de funcionar. Lo bueno sería que incrementara la profundidad cada vez que se pulsase cualquier boton. Ahora si pulso boton1 aparece la cabecera (hasta ahi,normal). Pulso boton2 y la cabecera aparece sobre la otra (fantastico) pero si vuelvo a pulsar boton1 ya no aparece la cabecera1 (se queda detras). Algo esta fallando. Supongo que tiene que haber una manera que no sea muy complicada de hacerlo.
Te sigo agradeciendo tu ayuda desinteresada.

Por celentano

Claber

123 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 Nov 2006 06:46 pm
Uff, te pido mil disculpas. Tu último código está perfecto. Había olvidado cambiar el nombre de las cabeceras y por eso no funcionaba. Después estaba probando otra cosa cuando me dí cuenta del error.
Voy a fustigarme un poco por haber escrito antes de mirar bien.
De nuevo mil gracias por tu ayuda!

Por celentano

Claber

123 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 Nov 2006 08:24 pm

celentano escribió:

Voy a fustigarme un poco por haber escrito antes de mirar bien.

Me parece justo U_U



XD

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

firefox

 

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