Comunidad de diseño web y desarrollo en internet online

Superposicion de clips al cargar swf externo

Citar            
MensajeEscrito el 08 Dic 2008 06:46 pm
Estoy creando una web con distintas secciones en las que salto de unas a otras con unos botones.Hasta ahora solo habia cargado en las seccion fotogrofias o campos de textos dentro de movieclips.
El problema me ha surgido al cargar una palicula externa.Ya que se me queda superpuesto a al cambiar de seccion esta pelicula.
Uso este codigo:

Código :

//DECLARACIÓN DE VARIABLES
var contene:MovieClip=_root.createEmptyMovieClip("contacto",_root.getNextHighestDepth());
contene._x = 250;
contene._y = 150;
var codigo:MovieClip=contene.createEmptyMovieClip("codig", contacto.getNextHighestDepth());
var caja_mc:MovieClip = codigo.createEmptyMovieClip("peli",codig.getNextHighestDepth());
var precargador:MovieClipLoader = new MovieClipLoader();
var listenerc:Object = new Object();
precargador.addListener(listenerc);
precargador.loadClip("contacto.swf",caja_mc);

Asi cargo la pelicula si en vez de una pelicula es una foto me va bien.En cada seccion borraba el clip asi:

Código :

contacto.removeMovieClip();

Pos eso habia utilizado esto para cargar y eliminar fotos al cambiar de secciones pero con el swf no me funciona bien.

Por jaimenog1

22 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Dic 2008 01:36 am
Si te cargas el contenedor te cargas el contenido, a menos que lo que cargues tenga código que invada la peli contenedora

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 09 Dic 2008 12:25 pm
Yo lo que quiero es cargarme el contenido,pero lo que me hace es que no se lo carga,pero relamente yo creo que no meto nada en la peli principal porque lo cargo todo sobre el movieclip contacto que es lo que me cargo.
Sabes donde puede estar el problema?

Por jaimenog1

22 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Dic 2008 12:34 pm
¿La peli cargada tiene código? ¿Por ejemplo crea elementos runtime en _root?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 09 Dic 2008 12:55 pm
La peli cargada es el formulario de contacto, que hay con loadvars aqui en cristal lab,¿Runtime te refieres a dinamicamente cuando la web se ejecuta?si es asi No.

Por jaimenog1

22 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Dic 2008 01:15 pm
En donde se supone lo has quitado agrega:

trace("Formulario no existe->"+contacto)

Debería dar undefined

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 09 Dic 2008 09:26 pm
Estoy en la pestaña contacto voy a otra seccion me saca esto y me lo borra:
Formulario no existe->undefined
Vuelvo a contacto,vuelvo a presionar otra secccion y ya no se borra
Formulario no existe->_level0.contacto

Por jaimenog1

22 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Dic 2008 09:14 pm
Alguna idea?

Por jaimenog1

22 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Dic 2008 10:47 pm
Añado tambien,que por ejemplo tengo 3 secciones dos cargan fotos,y la otra la del contacto.Si yo caambio de seccion entre las que cargan fotos todo va bien.Si por ejemplo desde una seccion de fotos paso por la de contacto.Tampoco me borra el movieclip de esa seccion al pasar a la secccion contacto.Es decir a partir de pasar por la seccion contacto(cargo pelicula externa)ya no me borra ningun movieclip.al cambiar de seccion

Por jaimenog1

22 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Dic 2008 12:33 pm
Whatever, crealo una sola vez y ponlo a invisible:

Código ActionScript :

if(!contacto){
   var contene:MovieClip=_root.createEmptyMovieClip("contacto",_root.getNextHighestDepth());
  contene._x = 250;
  contene._y = 150;  
  var codigo:MovieClip=contene.createEmptyMovieClip("codig", contacto.getNextHighestDepth());
  var caja_mc:MovieClip = codigo.createEmptyMovieClip("peli",codig.getNextHighestDepth());
  var precargador:MovieClipLoader = new MovieClipLoader();
  var listenerc:Object = new Object();
  precargador.addListener(listenerc);
  precargador.loadClip("contacto.swf",caja_mc);
} else contacto._visible = true


Luego en vez de descargarlo, pon contacto._visible = false

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Dic 2008 07:29 pm
Asi es como lo tenia en un principio el rollo de hacerlo de la otra forma,es para que cada vez que pinchase en una seccion me saltase una pequeña precarga si lo hago asi no puedo hacer eso verdad?Solo podria hacer la precarga la primera vez que cargo cada parte.

Por jaimenog1

22 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Dic 2008 07:35 pm
Aparte cuando yo cargo cada seccion le hago una pequeña transicion esto solo funcionaria la primera vez tambien.

A ver si me ayudas a aclararme un poco las ideas.
1-¿Lo que yo quiero hacer que es remover los movieclips eso deberia funcionar en teoria o siempre da problemas?
2-¿Es posible que el problema este en que yo cargo en la seccion contacto un swf y en las otras secciones creo movieclips etc sobre root no como pelicula externa y al mezclarlo de problemas?
3-¿Crees que si lo hiciese con peliculas externas todas las secciones,se podrian borrar bien o no tiene nada que ver?

Por jaimenog1

22 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Dic 2008 10:45 am
Básicamente un removeMovieClip quita un clip creado con createEmptyMovieClip. Si no se quita es porque no se ejecuta o tiene mal la referencia. Usualmente cuando algo así no anda primero tienes que aislarlo y probar:

- en una peli nueva de dos fotogramas vas y vienes a ver si siempre se quita. Si funciona, el principio que lo sustenta funciona
- vuelves a tu peli con el convencimiento que algo del contexto (y no el principio) está interfiriendo


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Dic 2008 11:54 am
vale voy a aislarlo a probar,y ya te comento algo.aunque yo estoy casi convencido que es al mezclarlo con las otras partes.Gracias por todo y a ver si conseguimos solucionarlo
Un saludo

Por jaimenog1

22 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Dic 2008 03:38 pm
Bueno he hecho lo que me decias aislarlo.Lo he hecho de la siguiente forma he creado una pelicula nueva.
Me he hecho dos capas la segunda capa tiene 3 fotogramas en los 3 hay dos botones.
Con este codigo:

el boton 1º:

Código :

on (release) {
   gotoAndStop(2);
}

el boton 2º

Código :

on (release) {
   gotoAndStop(3);
}

Despues en la primera capa en el fotograma uno puse esto:

Código :

stop();

En el fotograma 2 puse esto:

Código :

var contene:MovieClip=_root.createEmptyMovieClip("contacto",_root.getNextHighestDepth());   
   var clip:MovieClip =contacto.createEmptyMovieClip("pelicula",contacto.getNextHighestDepth());
   var precargador:MovieClipLoader = new MovieClipLoader();
   var listenerc:Object = new Object();
   precargador.addListener(listenerc);
   precargador.loadClip("contacto.swf",clip);
   stop();

y en el fotograma 3 puse esto:

Código :

contacto.removeMovieClip();
stop();


Pues bien ejecuto en flash,pincho en el boton 1 me saca el formulario contacto,pincho el boton 2 me borra el formulario contacto.Vuelo a pinchar boton 1 me sale el formulario contacto.Pincho el boton 2 ya no me lo borra.

Exactamente lo mismo que me pasa en la pagina

alguna idea de la razon?

Por jaimenog1

22 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Dic 2008 04:46 pm
Bueno probando consegui solucionarlo,en vez de solo poner remove puse esto

Código :

contacto.unloadMovie();
   contacto.removeMovieClip();

Pero cuando ya pensaba que estaba bien,me he dado cuenta que una seccion que cargaba una galeria dinamicamente,se me quedaba superpuesta tambien.Entonce pense en sacarlo fuera y cargarlo como uan peli esterna.
Lo hice de la misma forma que te comente arriba pero no me carga nada.
Las rutas estan bien y en swf funciona correctamente.
Entonces siguiendo tu consejo lo aisle y lo he metido en una pelicula nueva con este codigo

Código :

var conte:MovieClip=_root.createEmptyMovieClip("contenedor",_root.getNextHighestDepth());   
   var clip:MovieClip = contenedor.createEmptyMovieClip("peli",contenedor.getNextHighestDepth());
   var precarga:MovieClipLoader = new MovieClipLoader();
   var listener:Object = new Object();
   precarga.addListener(listener);
   precarga.loadClip("colecciones.swf",clip);

Pero no me carga la peli.Al principio de hablar sobre esto creo que me preguntasteis si en la pelicula externa creaba algo dinamicamente.En aquel caso era que no ahora si que creo cosas dinamicamente.Solo lo digo por si influye en algo,o hay que crearlo en otro nivel o algo.

Bueno al menos ya hemos avanzado algo.
gracias y un saludo

Por jaimenog1

22 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Dic 2008 10:19 pm
Aguna idea

Por jaimenog1

22 de clabLevel



 

firefox

 

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