Comunidad de diseño web y desarrollo en internet online

Movie Clip rebelde

Ir a página 1, 2  Siguiente

Foros de discusión > Flash

Citar            
MensajeEscrito el 16 Sep 2008 07:48 pm
Hola a todos!,

Soy nueva en el foro, estoy trabajando con flash para diseñar una página web y todo funciona muy bien, excepto un movie clip. Os cuento:

-He creado un Movie Clip (mc) vacío para cargar en él un archivo *.swf determinado llamado "centromultimedia.swf".
-Al Mc le he puesto el nombre de instancia "contenedor".
-Dentro del Mc no tengo ningúna acción. En un fotograma, que se encuentra paralelo al del Mc pero en otra capa, he puesto la siguiente acción:

Código :

contenedor.loadMovie("centromultimedia.swf")


Cuando hago click en el Botón del Menú "Centro Multimedia" éste me lleva al fotograma donde se encuentra el Mc.
Todo funciona perfectamente: El Mc vacío carga la animació swf y se reproduce sin problemas.

Cuando hago click en otro botón del Menu, por ej "Home", dejo de ver el MC y todo va bien.
Pero cuando vuelvo a hacer click en "Centro Multimedia" el Mc se carga y veo el Swf como si se cargara dos veces dentro del MC vacío, es decir, superpuesto. No son dos MC sino dos clips Swf cargados dentro del MC que se cortan entre sí.

Mientras más clicks hago sobre Centro Multimedia, más veces se abre el Swf dentro del Mc vacío y más se corta el Swf por causa de las superposiciones.

Como puedo solucionarlo?. Gracias de antemano a todos...
He intentado con el comando

Código :

contenedor.unloadMovie("centromultimedia.swf")

en cada uno de los botones de las otras secciones pero a pesar de cerrarse el Mc al volver a cargarse sigue abriendo más y más veces el Swf dentro de sí.

Por Maily

8 de clabLevel



 

Barcelona

msie7
Citar            
MensajeEscrito el 16 Sep 2008 08:09 pm
¿Se queda cargado? Extraño. Prueba cargando una sola vez

if(++cont<2) contenedor.loadMovie("centromultimedia.swf")

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Sep 2008 08:10 pm
Antes de cargar el contenido descárgalo, pero sin parámetros:

Código ActionScript :

contenedor.unloadMovie();
contenedor.loadMovie("centromultimedia.swf")

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 16 Sep 2008 08:11 pm
Me esta dando la idea que me vigilas :shock:

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 16 Sep 2008 08:17 pm
Gracias, pero por ahora no he podido.
Probando lo que me dices solisarg no se me carga el Mc directamente.
Probando lo que me dices elchininet sigo el problema no se soluciona.
Les aclaro que estoy poniedo las órdenes en un fotograma aparte, no en el Mc.

Por Maily

8 de clabLevel



 

Barcelona

msie7
Citar            
MensajeEscrito el 16 Sep 2008 08:20 pm
Claro, pero en este fotograma debe estar presente el clip contenedor.
Haz algo, donde le dices descargar pon esto:

Código ActionScript :

trace(contenedor);


Y postea lo que te devuelve.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 16 Sep 2008 08:25 pm
En realidad tengo un arreglo con Freddie para que mis POSTS siempre salgan antes que los tuyos, discute con él a ver si puedes sacar ventaja, jajajaja

Maily, suena a que el loadMovie se repite, mira que no lo tengas mas que una sola vez

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Sep 2008 08:32 pm
Cuando pongo el trace me dice en la salida:

_level10.contenedor

No tengo mucha idea de lo que significa. ¿Debo poner un unloadMovieNum(10)?

Y otra cosa, al cargarse el swf dentro del MC siempre me sale el error:

Error: Nose puede efectuar la acción "with" porque el objeto especificado no existe.

Por Maily

8 de clabLevel



 

Barcelona

msie7
Citar            
MensajeEscrito el 16 Sep 2008 08:52 pm
En realidad tengo un arreglo con Freddie para que mis POSTS siempre salgan antes que los tuyos, discute con él a ver si puedes sacar ventaja, jajajaja

Maily, suena a que el loadMovie se repite, mira que no lo tengas mas que una sola vez

Jorge


Buaf... entonces solo me queda la opcion Djsoso para ver si mis posts salen primero.

Maily está bien el trace, solo quería comprobar que ponías la instrucción en un frame donde estuviera presente el contenedor.
Por qué no posteas tus códigos? Será más fácil ayudarte.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 16 Sep 2008 09:01 pm
Gracias por el aguante, he intentado poner todos los códigos que he utilizado ¿hay alguno en especial al que te refieras?

En el fotograma donde está el Mc hay solo esta acción:

Código :

contenedor.loadMovie("centromultimedia.swf")


y nada más.

Y en el Mc no hay ninguna acción.

En un cualquier botón está:

Código :

on (press) (gotoAndPlay(Fotograma de destino);

}


Para posicionar correctamente el SWF solamente he movido de lugar el Mc con el mouse, nada de coordenadas. por eso es tan sencillo el código.

Por Maily

8 de clabLevel



 

Barcelona

msie7
Citar            
MensajeEscrito el 16 Sep 2008 09:05 pm
Tienes alguna animación que cuando presionas los botones haces un gotoAndPlay?
Si no la tienes puedes con los botones directamente cargar el contenido en el MovieClip, no hace falta ir a un frame.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 16 Sep 2008 09:08 pm
Sí, tengo una animación para cada vez que aprietes un botón se carguen los nuevos datos de la sección con una pequeña animación de entrada que es alpha de 0 a 100 par los objetos y un pequeño movimiento, y todo termina despues de 10 fotogramas en un stop(),

Por Maily

8 de clabLevel



 

Barcelona

msie7
Citar            
MensajeEscrito el 16 Sep 2008 09:12 pm
Bueno mira... donde tienes los frames con los loadMovies, sitúa traces, algo como esto:

Código ActionScript :

trace("pase por aquí");


Verifica que cuando presionas un botón se realiza un solo trace, si salen varios entonces es esa la causa.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 16 Sep 2008 09:18 pm
He situado los traces pero se envia solo uno, toda la película base está hecha sin recurrir a cargar películas externas. Las demás secciones están hechas todas en una sola película misma.
La seccion de Centro Multimedia es la única en que la he recurrido a una pelicula swf externa y me da problemas.

Por Maily

8 de clabLevel



 

Barcelona

msie7
Citar            
MensajeEscrito el 16 Sep 2008 09:27 pm
Mira Maily no dudo que anteriormente lo hayas hecho bien pero para salir de dudas, probaste poner justo en el frame donde está el loadMovie las dos líneas?

Código ActionScript :

contenedor.unloadMovie(); 
contenedor.loadMovie("centromultimedia.swf");

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 16 Sep 2008 09:29 pm
Hola Teseo,
lo he intentado y ahora la segunda vez que accedo a la sección donde se encuetra el Mc, este no se carga. Se carga solament una vez, yo pienso que el problema está en el Mc y no en el fotograma. ¿Existe alguna acción para ponerle dentro del MC que le permita cargar solamente una vez el SWF algo como lo que me has dado pero para poner dentro del Mc como acción?

gracias..

Por Maily

8 de clabLevel



 

Barcelona

msie7
Citar            
MensajeEscrito el 16 Sep 2008 09:29 pm
Eso de descargar y cargar servirá para probar pero sería lento y pesado en la ejecución.

Cambia el código de carga por este otro y creo que quedará listo:

Código ActionScript :

if (!cargado){
 contenedor.loadMovie("centromultimedia.swf")
 cargado =  true;
}


Si no es así algo en el swf que cargas se auto reproduce.
Entonces, si tienes acceso al FLA de ese SWF pon el bloqueo de raiz.

Por Teseo

SWAT Team

1780 de clabLevel

14 tutoriales

Genero:Masculino   SWAT

firefox
Citar            
MensajeEscrito el 16 Sep 2008 09:31 pm
elchininet, he hecho eso justamente como me lo habías indicado, lo he puesto en el mismo fotograma en que está cargado el Mc.

Por Maily

8 de clabLevel



 

Barcelona

msie7
Citar            
MensajeEscrito el 16 Sep 2008 09:33 pm
Caso extraño, extraño...
Práctica poco aprobada, pero sabiendo que tu intención no es que te arreglen el flash podías poner un link a este?, es la única via que veo.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 16 Sep 2008 09:37 pm
El fla pesa unos 100mb, el swf está colgado en www.ibste.org ir la sección Centro Multimedia y probar dándole click varias veces al Boton Centro Multimedia para ver lo que pasa.

Por Maily

8 de clabLevel



 

Barcelona

msie7
Citar            
MensajeEscrito el 16 Sep 2008 09:50 pm
Eso que dices indica que de algún modo borras el contenedor.
O lo creas cada vez en el mismo nivel y entonces ya no contiene el SWF.
No borres el contenedor ni lo crees de nuevo, usa la propiedad _visible a true o false.
por lo que indicas de :

Error: No se puede efectuar la acción "with" porque el objeto especificado no existe.
es posible que el "centromultimedia.swf" tenga un nombre igual en sus variables. Bloquea el root.


Prueba primero añadiendo esto:

Código ActionScript :

contenedor._lockroot = true;
if (!cargado){ 
 contenedor.loadMovie("centromultimedia.swf") 
 cargado =  true; 
}

Por Teseo

SWAT Team

1780 de clabLevel

14 tutoriales

Genero:Masculino   SWAT

firefox
Citar            
MensajeEscrito el 16 Sep 2008 09:52 pm
Maily eres nueva en flash y esta es la primera vez creo, pero para la próxima trata de que tu flash no alcance 5 megas, esto es algo poco práctico, como máximo debería tener 1 mega.

Bueno se me ocurre una idea, solo falta que la compartas:
Lo que sucede es que al presionar varias veces en botón seguido en una de ellas el contenido se carga dos veces, ahora si estás en la sección "Centro Multimedia" no hace falta volver ir a ella, para evitar el problema una vez que se presione este botón podría quedar deshabilitado hasta que no se presione otro cualquiera, de esta forma te aseguras que el usuario no lo presione varias veces, si te parece una buena solución para tu menú entonces te puedo recomendar una solución.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 16 Sep 2008 10:00 pm
Teseo, lo he probado, me sigue apareciendo el error y a la segunda vez que entro en la sección, el clip ya no se carga.

elchininet,
El problema no solo aparece cuando clickeas varias veces en Centro multimedia sino cuando vuelves varias veces a la sección, pasa lo mismo si haes Home > Centro Multimedi varias veces. Por lo que si deshabilito l botón las el problema seguiria estando.

Por Maily

8 de clabLevel



 

Barcelona

msie7
Citar            
MensajeEscrito el 16 Sep 2008 10:07 pm
Postea el código que tienes dentro de "centromultimedia.swf"

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 16 Sep 2008 10:11 pm
:oops: el código de "centromultimedia.swf" no lo tengo, porque lo hice con un programa que se llama FlashSlideshow Maker, me imagino que será un pecado, pero es la primera vez que hago una página en flash y quería ahorrarme trabajo... :cry:

Vendrá desde el programa el problema? :?

Por Maily

8 de clabLevel



 

Barcelona

msie7
Citar            
MensajeEscrito el 16 Sep 2008 10:11 pm
No hace falta que lo postees lo estoy viendo

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 16 Sep 2008 10:32 pm
Pues si, todos los problemas vienen de ese archivo.

Era extraño que te ocurriera lo anterior ya que cuando cargas un SWF dentro de un MovieClip el contenido anterior desaparece, pero lo que te ocurría no era que se duplicaba el SWF, sino que hay instrucciones en ese SWF poco optimizadas y en ciertos momentos crean loops infinitos y entonces el flash como que se vuelve loco, estaba mirándolo con Decompiler y cada cierto tiempo me decía que un script estaba ejecutándose lentamente y tenía que reinciciar, cuando esto ocurre en el explorador pasa lo que te sucede incluso llega hasta bloquearlo.

Consejo, utiliza otro software o clase para generar tus transiciones, sobre todo uno que lea las imágenes de forma externa para que no resulte un SWF de 2 megas.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 16 Sep 2008 10:36 pm
Muchas gracias, elchininet por tu ayuda, y a todos, mirare eso y cualquier cosa aviso por aquí,
Intentaré también reducir el tamaño del archivo principal.

Un saludo
gracias otra vez,
Maily

Por Maily

8 de clabLevel



 

Barcelona

msie7
Citar            
MensajeEscrito el 16 Sep 2008 10:40 pm
Te aconsejo que mires en flash la clase TransitionManager, te permite hacer tranciciones entre imágenes de forma fácil, de esta manera no tendrías que recurrir a este software.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 16 Sep 2008 10:42 pm
Pefecto!, lo haré ;)
gracias!

Por Maily

8 de clabLevel



 

Barcelona

msie7
Ir a página 1, 2  Siguiente
Foros de discusión > Flash

 

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