Comunidad de diseño web y desarrollo en internet online

No desaparece barra de carga

Citar            
MensajeEscrito el 12 Jun 2009 11:23 am
Hola a todos!

Tengo una web con 5 botones programados a traves de fotograma. Estos botones cargan diferents peliculas swf en un movieclip contenedor. Hay una barra de precarga, tambien programada des de el fotograma que sale mientras se cargan las diferentes peliculas swf.

El problema que tengo es que hay un sexto boton (llogotip_btn) que si lo clicko antes de que acabe de cargarse un movieclip, la barra de caarga se queda visible y no avanza.

¿Alguién me puede ayudar? Si queréis más info os lo passo sin ningun problema.

MUCHAS GRACIAS

Adjunto el código fotograma:

//DECLARACIÓN DE VARIABLES
var precargador_mcl:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
//Esto escondera el menu del click derecho
Stage.showMenu = false;
//CREADOR DEL LISTENER
//Las funciones de los MovieClips son tres esenciales;
//onLoadStart (Ejecutada cuando inicia la precarga)
//onLoadProgress (Ejecutada cada vez que avanza la descarga)
//onLoadComplete (Ejecutada cuando la precarga termina)
//
//Función onLoadStart, asignada al objeto Listener que luego agregaremos a
//nuestro MovieClipLoader El parametro "target_mc" es una referencia al
//MovieClip de destino
listener.onLoadStart = function(target_mc) {
trace("Iniciando");
//Colocamos la barra de precarga en el escenario con el nombre "barra_mc"
_root.attachMovie("barra", "barra_mc", _root.getNextHighestDepth());
//Ubicamos la barra en la mitad del escenario
_root.barra_mc._y = 527;
_root.barra_mc._x = 75;
//Y nuestra barra esta lista para moverse en el evento onLoadProgress
};
//Función onLoadProgress, es la función clave, tiene tres parametros
//target_mc, quees igual que el anterior, loadedBytes, que nos dice la
//cantidad de bytes cargados y totalBytes que nos dice la cantidad total
//de bytes de la pelicula en proceso de descarga
listener.onLoadProgress = function(target_mc, loadedBytes, totalBytes) {
trace("En progreso");
//Declaramos la variable de calculo de porcentaje
var porcentaje:Number;
//Calculamos el porcentaje con las variables que le llegan por parametro a la función
porcentaje = Math.round((loadedBytes*100)/totalBytes);
//Vamos al frame del porcentaje en nuestra barra de carga
_root.barra_mc.gotoAndStop(porcentaje);
//Ahora escondemos el objeto de la precarga y lo frenamos
target_mc._visible = false;
target_mc.stop();
};
//Función onLoadComplete
listener.onLoadComplete = function(target_mc) {
trace("ya");
//Como ya cargo completo, entonces quitamos la barra
_root.barra_mc.removeMovieClip("infantil.swf");
//Y mostramos el objeto
target_mc._visible = true;
target_mc.play();
};
//ASIGNACIÓN DEL LISTENER AL MOVIECLIPLOADER
//Ahora, todas las funciones que declaramos seran asignadas a
//nuestro MovieClipLoader "precargador_mcl"
precargador_mcl.addListener(listener);
//CODIGO DEL BOTON
//Esta variable nos servira para saltarnos el cache y asi siempre
//ver el efecto de precarga, quitala o dejala en blanco si no
//lo deseas
var nochache:String;
//Per cargar automàtic . . .
//En el evento onRelease del boton . . .
nocache = "?nocaching="+random(65000);
//Aqui le decimos a nuestro MovieClipLoader que cargue el archivo
//"pelicula.swf" y que lo muestre en "carga_mc" :D
precargador_mcl.loadClip("infantil.swf"+nocache,caja_mc);
infantil_btn.onRelease = function() {
nocache = "?nocaching="+random(65000);
//Aqui le decimos a nuestro MovieClipLoader que cargue el archivo
//"pelicula.swf" y que lo muestre en "carga_mc" :D
precargador_mcl.loadClip("infantil.swf"+nocache,caja_mc);
_root.ANIMACORS.PETITINFANTIL.LINIES.gotoAndPlay("infantil");
_root.ANIMACORS.PETITINFANTIL.LINIESGRANS.gotoAndStop("infantil");
_root.ANIMACORS.PETITINFANTIL.juvenil_btn.gotoAndStop("negre");
_root.ANIMACORS.PETITINFANTIL.complements_btn.gotoAndStop("negre");
_root.ANIMACORS.PETITINFANTIL.comunicacio_btn.gotoAndStop("negre");
_root.ANIMACORS.PETITINFANTIL.contacte_btn.gotoAndStop("negre");
this.gotoAndStop("color");
};
juvenil_btn.onRelease = function() {
nocache = "?nocaching="+random(65000);
//Aqui le decimos a nuestro MovieClipLoader que cargue el archivo
//"pelicula.swf" y que lo muestre en "carga_mc" :D
precargador_mcl.loadClip("juvenil.swf"+nocache,caja_mc);
_root.ANIMACORS.PETITINFANTIL.LINIES.gotoAndPlay("juvenil");
_root.ANIMACORS.PETITINFANTIL.LINIESGRANS.gotoAndStop("juvenil");
_root.ANIMACORS.PETITINFANTIL.infantil_btn.gotoAndStop("negre");
_root.ANIMACORS.PETITINFANTIL.complements_btn.gotoAndStop("negre");
_root.ANIMACORS.PETITINFANTIL.comunicacio_btn.gotoAndStop("negre");
_root.ANIMACORS.PETITINFANTIL.contacte_btn.gotoAndStop("negre");
this.gotoAndStop("color");
};
complements_btn.onRelease = function() {
nocache = "?nocaching="+random(65000);
//Aqui le decimos a nuestro MovieClipLoader que cargue el archivo
//"pelicula.swf" y que lo muestre en "carga_mc" :D
precargador_mcl.loadClip("complements.swf"+nocache,caja_mc);
_root.ANIMACORS.PETITINFANTIL.LINIES.gotoAndPlay("complements");
_root.ANIMACORS.PETITINFANTIL.LINIESGRANS.gotoAndStop("complements");
_root.ANIMACORS.PETITINFANTIL.infantil_btn.gotoAndStop("negre");
_root.ANIMACORS.PETITINFANTIL.juvenil_btn.gotoAndStop("negre");
_root.ANIMACORS.PETITINFANTIL.comunicacio_btn.gotoAndStop("negre");
_root.ANIMACORS.PETITINFANTIL.contacte_btn.gotoAndStop("negre");
this.gotoAndStop("color");
};
comunicacio_btn.onRelease = function() {
//Aqui le decimos a nuestro MovieClipLoader que cargue el archivo
//"pelicula.swf" y que lo muestre en "carga_mc" :D
precargador_mcl.loadClip("comunicacio.swf"+nocache,caja_mc);
_root.ANIMACORS.PETITINFANTIL.LINIES.gotoAndPlay("comunica");
_root.ANIMACORS.PETITINFANTIL.LINIESGRANS.gotoAndStop("comunica");
_root.ANIMACORS.PETITINFANTIL.infantil_btn.gotoAndStop("negre");
_root.ANIMACORS.PETITINFANTIL.juvenil_btn.gotoAndStop("negre");
_root.ANIMACORS.PETITINFANTIL.complements_btn.gotoAndStop("negre");
_root.ANIMACORS.PETITINFANTIL.contacte_btn.gotoAndStop("negre");
this.gotoAndStop("color");
};
contacte_btn.onRelease = function() {
//Aqui le decimos a nuestro MovieClipLoader que cargue el archivo
//"pelicula.swf" y que lo muestre en "carga_mc" :D
precargador_mcl.loadClip("contacte.swf"+nocache,caja_mc);
_root.ANIMACORS.PETITINFANTIL.LINIES.gotoAndPlay("contacte");
_root.ANIMACORS.PETITINFANTIL.LINIESGRANS.gotoAndStop("contacte");
_root.ANIMACORS.PETITINFANTIL.infantil_btn.gotoAndStop("negre");
_root.ANIMACORS.PETITINFANTIL.juvenil_btn.gotoAndStop("negre");
_root.ANIMACORS.PETITINFANTIL.complements_btn.gotoAndStop("negre");
_root.ANIMACORS.PETITINFANTIL.comunicacio_btn.gotoAndStop("negre");
this.gotoAndStop("color");
};
logotip_btn.onRelease = function() {
nocache = "?nocaching="+random(65000);
_parent._parent.gotoAndStop("fi_presentacio");
}
stop();

Por sunon

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Jun 2009 08:53 pm
Cuando vayas a colocar códigos actionscript hazlo entre tags de "as"

Código :

[as]
//---Tus códigos aquí
[/as]


En el onLoadInit del MovieClipLoader eliminas la barra de existir en el escenario:

Código ActionScript :

listener.onLoadStart = function(target_mc) {
   trace("Iniciando");
   //Si existe la barra en el escenario la eliminamos
   if(_root.barra_mc){
      
      _root.barra_mc.removeMovieClip();
      
   }
   
   //Colocamos la barra de precarga en el escenario con el nombre "barra_mc"   
   _root.attachMovie("barra","barra_mc",_root.getNextHighestDepth());
   //Ubicamos la barra en la mitad del escenario
   _root.barra_mc._y = 527;
   _root.barra_mc._x = 75;
   //Y nuestra barra esta lista para moverse en el evento onLoadProgress
};

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

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