Comunidad de diseño web y desarrollo en internet online

duplicacion de animacion en precargas!

Citar            
MensajeEscrito el 30 Dic 2009 02:03 am
Hola gente del foro
soy nuevo en cristalab y acabo de tener un problema con uno de los tutoriales de la pagina..especificamente este:

http://www.cristalab.com/tutoriales/precargas-swf-y-jpg--en-flash-con-moviecliploader-c15l/

con la funcion moviecliploader y al apretar en los vinculos q llaman a la animacion de precarga,
si al momento en que carga una animacion y/o jpg apreto en otro vinculo se duplica dicha animacion

por ahi encontre un tema similir con su solucion pero no logre realizar lo mismo con mi codigo: dejo el codigo
aver si alguien me puede ayudar ( el codigo lo saque del tutorial del vinculo de arriba ) graciassss


Código ActionScript :

//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 = Stage.height/2;
   _root.barra_mc._x = Stage.width/2;
   //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();
   //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;
//En el evento onRelease del boton . . . 
cargar_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("imagenes/cc1.png"+nocache, caja_mc);
};
mas_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("imagenes/cc2.png"+nocache, caja_mc);
};




por lo que lei el error estaba en onLoadsTart... espero ayuda muchas gracias

Por damian_tol

2 de clabLevel



 

msie8
Citar            
MensajeEscrito el 30 Dic 2009 05:01 am
Prueba poniendo esto:

Código ActionScript :

//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"); 
   _root.barra_mc.gotoAndStop(porcentaje); 
   //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 = Stage.height/2; 
   _root.barra_mc._x = Stage.width/2; 
   //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(); 
   //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; 
//En el evento onRelease del boton . . .  
cargar_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("imagenes/cc1.png"+nocache, caja_mc); 
}; 
mas_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("imagenes/cc2.png"+nocache, caja_mc); 
}; 


Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 30 Dic 2009 07:35 pm
Aunque no vi el cambio en el codigo, probe con ese codigo y no me funciono, igualmente gracias Hernan.

Por damian_tol

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Dic 2009 03:15 am
El cambio en el código fue que te borre el clip del preloader al inicializar otra precarga. Podrías colgar en un link el ejemplo de lo que esta sucediendo? Así podré entenderte mejor.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 04 Ene 2010 01:14 am
aca esta colgado un ejemplo para ver el efecto de error q se me produce:
(se duplica la animacion de precarga)

http://duplicacion1.webcindario.com/

Por damian_tol

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Ene 2010 01:47 am
Pues yo no me andaría complicando usaría el clásico preloader armado en base a getBytesTotal y Loaded, la verdad nunca fuí afín de usar el MovieClipLoader Class, siempre me parecio mucho código para algo taaan simple.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 04 Ene 2010 09:13 pm
Hernan lo hice asi porq pense q era lo mas facil para cargar jpg's o swf externos, y tambien porque encontre el tutorial para realizarlo..vos tenes un tutorial de ese que me decis vos para que lo logre realizar..porque de esto entiendo poco..jej gracias!!

Por damian_tol

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Ene 2010 01:41 am
je! Si, es que uno tiene sus propias mañas, si quieres seguir la mia, es fácil, solo tienes que hacer lo siguiente para crear un preloader:

Código ActionScript :

function preloader(MC:MovieClip):Void{
   if(MC.getBytesLoaded()/MC.getBytesTotal){
      // hacer lo que debe
      clearInterval(id);
    }else{
      // código del preloader
   }
}

id = setInterval(preloader,300,clip);


Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox

 

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