Comunidad de diseño web y desarrollo en internet online

Cerrar swf abierto desde otro swf

Citar            
MensajeEscrito el 25 Abr 2008 11:32 am
Hola a todos,
tengo una swf que a través de un botón abre otro swf. Mi problema está cuando intento cerrar ese segundo swf, ya que no encuentro la manera de hacerlo a través de un botón. Ejecutándolo desde Flash lo consigo cerrar a través de unloadmovie(this) pero cuando lo ejecuto desde el primer swf, me lo abre correctamente, pero ese botón ya no hace nada.

Gracias por adelantado
Un saludo

Por ascrich2

23 de clabLevel



 

msie7
Citar            
MensajeEscrito el 25 Abr 2008 01:33 pm
¿ unloadMovie ? ¿Estás usando AS3?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Abr 2008 01:36 pm
se va al foro de ActionScript

____


en el botón que está en el swf cargado pones:

Código :

btn.onPress=function(){
   unloadMovie(this._parent)
}


ya que al poner this haces efecto al btn

saludos

Por eldervaz

BOFH

10964 de clabLevel

39 tutoriales
56 articulos

Genero:Masculino  

en algún lugar del mundo

firefox
Citar            
MensajeEscrito el 25 Abr 2008 02:06 pm
poniendo esto me dice:
"Statement must appear within on handler"

Por ascrich2

23 de clabLevel



 

msie7
Citar            
MensajeEscrito el 25 Abr 2008 02:25 pm
Cambialo por

on(press){
unloadMovie(this._parent)
}

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Abr 2008 02:54 pm
sigue sin funcionar. Supongo que no influye que el .fla principal esté diseñado con AS3 y que el otro swf que abro esté diseñado con AS2 no ???? cuando lo pruebo desde el propio flash con unloadMovie(this) únicamente, si funciona y cierra el MC, pero luego cuando hago la prueba desde el HTML no funciona. He incluido lo que me has dicho del _parent y desde flash ya no funciona ni desde HTML tampoco.
Es tan dificil cerrar un MC desde otro ???

Gracias Jorge

Por ascrich2

23 de clabLevel



 

msie7
Citar            
MensajeEscrito el 25 Abr 2008 03:05 pm
Ambos tienen que estar en AS2, claro, unloadMovie es un comando de AS2

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Abr 2008 03:20 pm
pero los dos son swf diferentes, y los dos funcionan perfectamente cuando los ejecuto. Uno es la página principal con muchísimas funciones (AS3) y el enlace desde la página principal, o sea, el otro SWF es una galería de imágenes (en AS2) que también funciona perfectamente. Lo único que estoy intentando añadir un botón para que cuando terminen de visualizar la galería de imágenes se cierre el swf de AS2. Parece que están conviviendo bien los dos juntos, y todas sus funcionalidades son correctas. Sería un incordio tener que rediseñar todo el swf de AS2 simplemente para añadir un botón de cerrar, no crees ?

Por ascrich2

23 de clabLevel



 

msie7
Citar            
MensajeEscrito el 25 Abr 2008 03:31 pm
Algo no me cierra: si el principal está en AS3 NUNCA puede estar cargando al segundo con loadMovie por una simple razón: loadMovie no existe en AS3. Luego asumo que usas un Loader, y finalmente que lo puedes quitar del DisplayList haciendo

this.removeChild(this.getChildByName("galeria"))

Donde galería es el nombre de instancia que le asignaste al cargar con el Loader

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Abr 2008 03:59 pm
ya está solucionado Jorge. El problema era que yo intentaba poner el poner dentro del segundo swf, y claro, no iba bien. Al sacar el botón cerrar y ponerlo en el primer swf, la galeria se cierra con el código que me has dado.

Muchas gracias de nuevo y saludos desde Madrid

Por ascrich2

23 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 Abr 2008 02:53 pm
Hola,
me he encontrado ahora con un problema posterior que he posteado también, pero por si acaso lo lees te lo vuelvo a poner. Cuando cargo el segundo swf la primera vez, funciona perfectamente, pero la segunda vez, parece que lo carga bien pero no muestra las imágenes de la galeria, únicamente muestra el marco. Eso si, si pulso encima me las muestra en grande a la derecha como bien tiene que hacer.
Raro no ?

Por ascrich2

23 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 Abr 2008 03:12 pm
A veces ocurre eso con el cache, al cargar muy rápido algo influye en las inicializaciones. Para descartar que sea esto pruebo borrando cache cada vez que lo cargues a ver si el error persiste

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Abr 2008 03:16 pm
de qué manera ??? manualmente o se puede hacer a través de código ?

Por ascrich2

23 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 Abr 2008 03:20 pm
mira, este es el código que estoy utilizando. Dime si encuentras algo raro:

var galeriaabierta:Loader = new Loader()
//función para ir a la galeria nochebuena
var holder2:Loader = new Loader()
function MostrarGalerianochebuena (e:Event) :void
{
holder2.load(new URLRequest ("galeria_nochebuena2007.swf"));
addChild(holder2)
btn_cerrar.visible = true
galeriaabierta = holder2
}
btn_nochebuena.addEventListener(MouseEvent.CLICK, MostrarGalerianochebuena);
//fin función ir a la galería nochebuena

//función para ir a la galeria nochevieja
var holder3:Loader = new Loader()
function MostrarGalerianochevieja (e:Event) :void
{
holder3.load(new URLRequest ("galeria_nochevieja2007.swf"));
addChild(holder3)
btn_cerrar.visible = true
galeriaabierta = holder3
}
btn_nochevieja.addEventListener(MouseEvent.CLICK, MostrarGalerianochevieja);
//fin función ir a la galería nochevieja

function ocultargaleria (e:Event) :void
{
//this.removeChild(this.getChildByName("galeria.swf"))
removeChild(galeriaabierta)
btn_cerrar.visible = false
}
btn_cerrar.addEventListener(MouseEvent.CLICK, ocultargaleria);

Por ascrich2

23 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 Abr 2008 04:00 pm
Manualmente, es solo para ver si tiene que ver con eso

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Abr 2008 04:02 pm
nada. Lo he hecho manualmente y sigue pasando lo mismo. Antes esto no me ocurria, no se que puede haber ocurrido. El código te parece bien ??? ves que he creado una variable Load llamado Galeriaabierta para así poder cerrar el swf aunque sea uno u otro. Hay algo mal ???

Por ascrich2

23 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 Abr 2008 04:37 pm
Quizñas estén sobreescribiendo algo. En AS3 no basta con quitar del DisplayList, hay que matar los evedntos para que no sigan corriendo (por ejemplo, los onEneterFrame) mediante removeEventListener

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Abr 2008 09:17 pm
pero como puedes comprobar en el código, no estoy utilizando eso. Has observado el código ? estoy utilizando el RemoveChild. Quizás se queda en memoria aunque ejecutes ese método o algo similar. Tienes alguna idea de que poder hacer ?

Gracias

Por ascrich2

23 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 Abr 2008 09:44 pm
RemoveChild significa quitar del DisplayList
Lo que quitas es la galería que has cargado, que debe tener su código también. El código de la galería no lo has posteado, lo que hago es simplemente una hipótesis. Pero como bien dices, podría ser otra cosa, el debugging es un largo camino

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Abr 2008 09:50 am
bien, pues tendré que elegir otro camino, ya que no encuentro solución. Lo primero que se me ocurre es poner un botón desde el primer swf para que abra una página html. Es posible ? si es así, como lo pondría en AS3 ?

Por ascrich2

23 de clabLevel



 

msie7
Citar            
MensajeEscrito el 30 Abr 2008 10:00 am
Usa navigateToURL (míralo en la ayuda)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 01 May 2008 06:19 am
tienes un Mc1 que contiene los controles cargas y cerrar y un Mc2 que es quien contiene la galeria cierto?????? acaso no puedes editar la galeria es decir no puedes editar el Mc2???

Por Enav

180 de clabLevel



Genero:Masculino  

firefox

 

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