Foros del Web » Creando para Internet » Flash y Actionscript »

Cómo detener un swf Externo

Estas en el tema de Cómo detener un swf Externo en el foro de Flash y Actionscript en Foros del Web. Hola, estoy registrado en el foro de maestros del web, tengo un problema y Espero me puedan ayudar. Tengo una pelicula donde cada botón que ...
  #1 (permalink)  
Antiguo 18/09/2007, 12:39
 
Fecha de Ingreso: septiembre-2007
Mensajes: 5
Antigüedad: 16 años, 7 meses
Puntos: 0
Pregunta Cómo detener un swf Externo

Hola, estoy registrado en el foro de maestros del web, tengo un problema y Espero me puedan ayudar.

Tengo una pelicula donde cada botón que tengo en ella va a un keyframe especifico y esenas especificas... pero el problema que tengo es que en uno de ellos cargo un swf externo, se carga muy bien, pero a la hora de presionar otro botón sigue corriendo la pelicula externa, ya logre que se detenga, pero no se si lo hice bien porque cuando vuelvo a llamarla, se carga pero más rápido y así sucesivamente hasta que me marca un error... los codigos que tengo son los siguientes:



on (release) {
mc_fotos = this.createEmptyMovieClip("fotos", 2);
mc_fotos.loadMovie("fotos.swf");
mc_fotos._x=150;
mc_fotos._y=100;
this.onEnterFrame = function() {
if (mc_fotos.getBytesLoaded() != 0 && mc_fotos.getBytesLoaded() == mc_fotos.getBytesTotal()) {
mc_fotos.gotoAndPlay(2);
delete this.onEnterFrame;
};
}
}

El codigo para detenerla es el siguiente:

on (press){
unloadMovie("mc_fotos");
gotoAndPlay("ni",1);
}

Me podrían ayudar por favor, no se que estoy haciendo mal
  #2 (permalink)  
Antiguo 18/09/2007, 15:39
 
Fecha de Ingreso: enero-2005
Mensajes: 90
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Cómo detener un swf Externo

Lo que yo hice en alguna ocasión es que el mc externo lo cargaba como si fuera una ventana y entonces tenia un botón de cerrar y este era un simple btn con un acction que decía unloadMovie

Igual y te sirve, saludos
  #3 (permalink)  
Antiguo 18/09/2007, 16:22
 
Fecha de Ingreso: septiembre-2007
Mensajes: 5
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Cómo detener un swf Externo

Ok. gracias por la respuesta, pero si me interesaría ver la forma de poder correr la pelicula dentro de la otra y a su vez que en su momento se pueda detener y volver a correrla normal las veces que se consulte ese contenido o movieclip.

Saludos y espero ayuda.
  #4 (permalink)  
Antiguo 18/09/2007, 16:29
Avatar de editjj  
Fecha de Ingreso: febrero-2006
Ubicación: madrid
Mensajes: 34
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Cómo detener un swf Externo

Cita:
Iniciado por JRichard Ver Mensaje

on (release) {
mc_fotos = this.createEmptyMovieClip("fotos", 2);
mc_fotos.loadMovie("fotos.swf");
mc_fotos._x=150;
mc_fotos._y=100;
this.onEnterFrame = function() {
if (mc_fotos.getBytesLoaded() != 0 && mc_fotos.getBytesLoaded() == mc_fotos.getBytesTotal()) {
mc_fotos.gotoAndPlay(2);
delete this.onEnterFrame;
};
}
}

El codigo para detenerla es el siguiente:

on (press){
unloadMovie("mc_fotos");
gotoAndPlay("ni",1);
}

Me podrían ayudar por favor, no se que estoy haciendo mal
Buenas noches, si no te entiendo mal, tienes una pelicula en la que cargas otra con loadMovie y quieres poder tener el control desde la pelicula principal a las peliculas que cargues. Si es asi, no es demasiado complicado.

cargas la pelicula secundaria
mc_fotos.loadMovie("fotos.swf");

ahora el código para el boton, en este caso para parar la pelicula, siempre teniendo en cuenta que el boton está en el mismo nivel que el clip donde se carga la segunda pelicula:
on (press){
mc_fotos.stop();
}

espero que sea lo que necesitas.

saludos
  #5 (permalink)  
Antiguo 18/09/2007, 17:05
 
Fecha de Ingreso: septiembre-2007
Mensajes: 5
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Cómo detener un swf Externo

El detalle es que la pelicula no se detiene con esa instrucción... ya que entiendo con niveles a las capas de la línea de tiempo, el botón y la pelicula que se carga estan en diferentes capas.

Así que con este codigo si se detiene:

unloadMovie("mc_fotos");

pero navego normalmente en el resto de la pelicula pero al volver a cargar la pelicula me manda este error:

Error: No se pudo efectuar la acción 'with' porque el objeto especificado no existe.

Esto sucede como a la tercer vez que mando llamar la misma pelicula.

Alguien me puede ayudar??
  #6 (permalink)  
Antiguo 19/09/2007, 05:04
 
Fecha de Ingreso: noviembre-2003
Mensajes: 13
Antigüedad: 20 años, 5 meses
Puntos: 1
Re: Cómo detener un swf Externo

Ese error suele aparecer por problema de nivel de películas, por no referenciar adecuadamente la película de destino de la orden (stop, en este caso).
Los niveles no se refieren a el orden de capas en una misma línea de tiempo, sino a clips de película (o directamente películas ya exportadas a formato swf) que se cargan dentro de otro clip en el escenario.
Si tienes un botón en el escenario que al pulsarlo genera un mc llamado mc_fotos y éste a su vez carga la película "fotos.swf", la película fotos.swf se encuentra un nivel por abajo (o anidada) de la película principal en la que tienes el botón, puesto que se carga dentro un clip de esta película principal (parent).
De este modo si quieres detenerla debes escribir lo que dice editjj:
on (press){
mc_fotos.stop();
}
Para que vuelva a correr sería así:
on (press){
mc_fotos.play();
}
o con la orden gotoAndPlay si quieres que empiece desde un fotograma determinado.
No necesitas descargar la película para que se detenga.

Espero que te sirva
saludos
  #7 (permalink)  
Antiguo 19/09/2007, 16:35
 
Fecha de Ingreso: septiembre-2007
Mensajes: 5
Antigüedad: 16 años, 7 meses
Puntos: 0
Exclamación Re: Cómo detener un swf Externo

Creo que no funciona con ese codigo... ya que no detiene la pelicula... el

on (press){
mc_fotos.unloadMovie("fotos.swf");
gotoAndPlay("ni",1);
}

Si la detiene... ya que al mismo tiempo va otra esena, pero el problema que tengo realmente es cuando cargo varias veces la pelicula externa, llega un momento que ya no se carga bien.... como le hago para rebobinarla otra vez??

Alguien me puede ayudar?
  #8 (permalink)  
Antiguo 20/09/2007, 07:52
 
Fecha de Ingreso: noviembre-2006
Mensajes: 3
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Cómo detener un swf Externo

Hola que tal a todos no se si he entendido bien lo que preguntas pero a mi me pasa algo parecido yo tengo una pelicula principal con varios botones que llaman a secundarias

on (release) {
loadMovieNum("secundaria1.swf", 2);
}

una de estas secundarias tiene varias opciones entre ellas play para un video, todo va funcionando correctamente incluso cuando vuelvo a pinchar en otra opción de la principal, pero si se ha quedado en play la secundaria1.swf
al intentar volver a visualizar (digamos el principio de la secundaria1.swf) desde el menu principal aparece un error y el navegador se cierra)

¿que deberia ponerle a los botones para que cierre o pare completamente secundaria1.swf? ...aunque tenga que ponerselo a todos los botones
Necesitamos ayuda
gracias
  #9 (permalink)  
Antiguo 20/09/2007, 12:54
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Re: Cómo detener un swf Externo

Hola halaca:
Bienvenido al Foro.
Si estás usando botones para cargar diferentes películas externas.
Lo más práctico para cargarlas es usar el mismo nivel, de ese modo cuando cargues la siguiente la anterior se descargará automáticamente.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #10 (permalink)  
Antiguo 21/09/2007, 05:31
 
Fecha de Ingreso: noviembre-2006
Mensajes: 3
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Cómo detener un swf Externo

muchas gracias
y llevais razón pero cuando cliqueo muchas veces seguidas el boton que tiene este codigo:

on (release) {
loadMovieNum("apartados/amigos/amigos.swf", 2);
}

flash me da el siguiente error

NaN
Destino no encontrado: Destino="undefined" Base="_level2"
NaN

solo me pasa con un boton Y todos estan igual y funcionan perfectamente....

he probado a descargar con

unloadMovieNum(2);

dentro del boton pero sigue igual

algunas veces se cierra hasta el programa
lo he probado con firefox a va bien pero el explorer cierra por error
¿que puede ser?
  #11 (permalink)  
Antiguo 21/09/2007, 09:03
Avatar de editjj  
Fecha de Ingreso: febrero-2006
Ubicación: madrid
Mensajes: 34
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Cómo detener un swf Externo

Cita:
Iniciado por JRichard;
Creo que no funciona con ese codigo... ya que no detiene la pelicula... el

on (press){
mc_fotos.unloadMovie("fotos.swf");
gotoAndPlay("ni",1);
}

Si la detiene... ya que al mismo tiempo va otra esena, pero el problema que tengo realmente es cuando cargo varias veces la pelicula externa, llega un momento que ya no se carga bien.... como le hago para rebobinarla otra vez??

Alguien me puede ayudar?
Buenas tarde JRichard,

si todas las rutas las pones correctamente, el código te deberia funcionar, ya que es el mismo que utilizo yo para controlar las peliculas que cargo en la principal. Se me ocurre un posible motivo para el error, tu estas enviando una orden de parada (stop();) a un swf, si este swf, en su linea de tiempo principal solo tiene un fotograma, y toda la animación está incluida en un solo clip, que se encuentra en ese primer fotograma, no te va a funcionar, porque estas parando algo que está parado, si es asi como está, dicho clip tendria que tener un nombre para que accedieras hasta él para pararlo. De todos modos si compartes los archivos o facilitas mas información, como la referente al archivo que te falla, podremos ayudarte un poco más.



Cita:
Iniciado por halaca Ver Mensaje

solo me pasa con un boton Y todos estan igual y funcionan perfectamente....

he probado a descargar con

unloadMovieNum(2);

dentro del boton pero sigue igual

algunas veces se cierra hasta el programa
lo he probado con firefox a va bien pero el explorer cierra por error
¿que puede ser?
Buenas tardes halaca,

por lo que comentas, el problema puede estar en el archivo apartados/amigos/amigos.swf, dices que tiene video, pero de que manera? quizas te venga bien repasar ese archivo, o probar, por ejemplo, a meter un audio en cualquiera de los otros, y ver que pasa. para que vayas arrinconando el problema.

saludos
  #12 (permalink)  
Antiguo 24/09/2007, 06:10
 
Fecha de Ingreso: noviembre-2006
Mensajes: 3
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Cómo detener un swf Externo

muchas gracias al final he conseguido arrinconarlo y solucionar el problema.
No entiendo mucho de actionscript por lo que la solución no es del todo correcta pero funciona, que es en el fondo lo que importa:

Principalmente lo que he hecho es en el último fotograma de la pincipal cargar dos niveles:

loadMovieNum("apartados/amigos/amigos.swf", 1);
//este era el clip que me daba problemas y lo cargo en el nivel 1
loadMovieNum("apartados/tapadera/tapadera.swf", 2);
//y le cargo encima otro para que no se vea

Entonces el resto de secundarias las trabajamos en el nivel 2 y simplemente en los botones ponemos:

on (release) {
loadMovieNum("apartados/fotos/fotos.swf", 2);
}

Que irán cerrando el nivel dos y mostrando el nuevo clip. Con el clip que teniamos el problema a la hora de cargar y descargar (amigos.swf), lo dejamos siempre cargado y en el botón que llama a amigos.swf que lo que haga sea descargar el nivel 2 entonces muestra nuestro clip "compilado.."

on (release) {
unloadMovieNum(2);
}
Esa es la parte fácil pero habia que depurarlo por que al pulsar sobre los otros botones como tenemos cargado amigos.swf se muestra un ápice de segundo y queda feo... entonces amigos.swf (clip compilado que tiene diferentes opciones de play, pause...) en vez de que sea solo un fotograma lo ponemos en dos el primero con un nombre de etiqueta (etiqueta1) y en stop y en el segundo le ponemos un cuadro tapandolo un stop y otro nombre de etiqueta (etiqueta2)
y aqui llega la gracia en el resto de botones

on (release) {
_level1.gotoAndStop("etiqueta2");
loadMovieNum("apartados/fotos/fotos.swf", 2);
}
forzamos al boton que antes de cargar muestre el fotograma 2 del clip compilado
que es el que esta tapado

y el boton que llama a amigos.swf aparte de descargar el nivel 2 que se coloque e el fotograma1

on (release) {

unloadMovieNum(2);
_level1.gotoAndStop("etiqueta1");
}
ya se que hay muchas maneras de hacer esto pero en mi caso ha sido una buena solución ya que no soy un erudito en actionscript y estaba usando un clip compilado con carga de xml y sin sonido.
Muchas gracias a todos y saludos
  #13 (permalink)  
Antiguo 27/10/2007, 12:28
 
Fecha de Ingreso: septiembre-2007
Mensajes: 5
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Cómo detener un swf Externo

Ya quedo solucionado el problemilla, lo realice un componente de flash que llama la pelicula (loader).

Saludos.

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:28.