Comunidad de diseño web y desarrollo en internet online

Problema con preloader externo en AS2

Citar            
MensajeEscrito el 20 Ago 2012 07:35 pm
Buen día grupo Cristalab.

Antes que nada un cordial saludo. Les explico...He terminado de hacer una página web totalmente realizada en flash, pero tiene errores de carga de archivos externos, a lo que me refiero es que las secciones de la página cargan siempre que entro a la misma sección, por ejemplo si le doy click a una sección y salgo de ella y de nuevo quiero entrar a la misma, me hace de nuevo toda la carga completa y tarda bastante, se supone que ya no tendría que cargar porque en teoría ya se hizo la carga al darle click a esa sección.

Sinceramente no soy muy bueno programando en AS2 y por lo mismo me he copiado un código de la web, espero puedan ayudarme con el código, al parecer solo es quitarle una linea pero no se cual, ya hice varias pruebas y no encuentro la solución.

El código lo tengo en un fotograma del SWF principal, este manda a llamar a otro SWF por medio de un botón y lo carga sin problema, pero insisto que este vuelve a cargar desde 0% si vuelvo a dar click en el botón que manda a llamar el SWF.


Aqui el código.

Servicios.Servicios_Animate.onPress = function(){
var url:String = "Servicios.swf";


function Cargar(url){

//Creo una instancia de moviecliploader, que va a "gestionar" la descarga
var cargador:MovieClipLoader = new MovieClipLoader();

//Creo un objeto que voy a añadir a movieClipLoader, y va a servir de "intermediario" para
//mostrar la información asociada al cargador

var detector:Object = new Object();

//Se ejecuta durante la carga del archivo, dando información sobre los bytes cargados y totales
detector.onLoadProgress = function(clip:MovieClip,bCargados:Number,bTotales:Number):Void{
Porcentaje4_txt.text = Math.floor(bCargados*100/bTotales) + " % Servicios";
}


//Se ejecuta cuando se produce un error al cargar el archivo (la url está mal o el archivo no está disponible)
detector.onLoadError = function(clip:MovieClip,bCargados:Number,bTotales:Number):Void{
Porcentaje4_txt.text = "Error en Servicios";
}


//Se ejecuta cuando se ha cargado el archivo, pero todavia no está disponible para el player
detector.onLoadComplete = function(clip:MovieClip){
trace("Archivo cargado");
trace("Ancho del archivo: " + clip._width); //Devuelve 0
Porcentaje4_txt._visible = false;
}


/*Esta función se ejecuta cuando ya se ha cargado el archivo y está disponible para su modificación.
Por ejemplo, si estamos cargando una foto de la que no sabemos el tamaño,y necesitamos conocerlo cuando carga,
habrá que verlo dentro de este evento, ya que antes sus caracteristicas no estarán disponibles.
Por ejemplo, en el evento onLoadComplete, si hacemos un trace(clip._width), nos dará 0 en lugar del ancho del
archivo cargado, ya que sus carácterísticas no estén todavía disponibles para el player*/

detector.onLoadInit = function(clip:MovieClip){
trace("Se ha completado la descarga y ya está disponible el objeto para el player");
trace("Ancho del archivo: " + clip._width); //Devuelve el ancho del archivo cargado
}


//Añado el objeto al cargador
cargador.addListener(detector);

//Cargo el archivo de la url en el clip que quiero por medio de la instancia de MovieClipLoader
cargador.loadClip(url,Cargador);

}

Cargar(url + "?rand=" +Math.random(10000));
}


/////////////////////////////////////////////////////////////////////////////////////////////////

Alguien sabe cual es el problema? Se los voy a agradecer mucho, que tengan un excelente día.

Ricardo.

Por rIcKy_84

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Ago 2012 04:37 am
Hola ricardo primero dime si cuando te refieres a cargar un archivos externos te refieres a archivos dentro de tu mismo proyecto o a archivos de otra url externa ? si lo que estas haciendo es cargar achivos de tu mismo proyecto , ovia mente cada vez que llames a ese clip de pelicula el mismo tiene que generar el tiempo de carga establecido, segun el tamaño en bites que posea, lo que te puedo recomendar es crear un preload interno o en vez de llamar a clip de peliculas si son imagenes lo hagas mejor utilizando un xml ,

Por www.josealexis.tk

5 de clabLevel



Genero:Masculino  

soy ingeniero en sistemas

firefox
Citar            
MensajeEscrito el 24 Ago 2012 04:41 am
o si tambien lo deseas puedes añadir este script al primer fotograma de tu proyecto claro esta cambiendo algunos valores por los nombres de instancia de tu proyecto aqui el script :


if(this.getBytesLoaded() < this.getBytesTotal()){
c=(this.getBytesLoaded() / this.getBytesTotal()) * 100
this.barra._xscale=c
this.gotoAndPlay(3);
cuanto=parseInt(c) + "%"
}

Por www.josealexis.tk

5 de clabLevel



Genero:Masculino  

soy ingeniero en sistemas

firefox
Citar            
MensajeEscrito el 24 Ago 2012 09:10 am
Te agradezco mucho tu respuesta josealexis, te comento que la película principal manda a llamar los demás SWF externos que se encuentran dentro de la misma carpeta, en mi película principal tengo un mc llamado "Cargador" y en un fotograma vació tengo el código, pero ya remplacé dicho código por este otro:

Código :

Servicios.Servicios_Animate.onPress = function(){ 

function cargando () {
   var total , cargados , porcentaje; 
   total = Cargador.getBytesTotal();
   cargados = Cargador.getBytesLoaded();
   porcentaje = Math.floor(cargados*100/total)+ " % Servicios";
   trace(porcentaje)
   Porcentaje3_txt.text = porcentaje+"";
}
Cargador.loadMovie("Servicios.swf"); 
var HiloPrecarga = setInterval(cargando, 1);
}


El código funciona bien, hace la carga del SWF externo y luego se reproduce en mi mc "Cargador", pero ahora tengo otro problema, a la hora de cargar aparece como NaN % Servicios y después hace la carga normal, otro problema es que cuando ya cargo por completo el SWF externo se queda en 100 % Servicios y encima se reproduce el archivo externo, intenté poner este código pero no funciona:

Código :

if(cargados == total){
Porcentaje3_txt._visible = false;
}


Tendrás de casualidad alguna solución para estos errores??
Saludos.

Por rIcKy_84

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Ago 2012 04:26 am
bien ricardo el problemas seria mas facil de solucionar si puedes subir el proyecto a algun servidor y mandarme el link por privado de manera que pueda ver el funcionamiento y revisar el script para dar con el fallo hermano saludos espero tu respuesta


atte

ingeniero jose alexis trujillo

caracas-venezuela

Por www.josealexis.tk

5 de clabLevel



Genero:Masculino  

soy ingeniero en sistemas

firefox
Citar            
MensajeEscrito el 25 Ago 2012 11:17 pm
Ya pude solucionar el problema pero de cualquier manera te agradezco mucho Jose, lo único que necesitaba hacer era lo sig:

Código ActionScript :

if(!NaN(Math.floor(cargados*100/total))){
 Porcentaje3_txt.text = porcentaje+"";
}

if(cargados == total){
gotoAndPlay(2);
}

//Y en el fotograma 2 tengo en un fotograma vacio el sig código:

Porcentaje3_txt._visible = false;


Que tengas un excelente día Jose, mil gracias!!

Saludos desde México.

Por rIcKy_84

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Ago 2012 11:21 pm
ok amigo estamos para ayudar me alegra que hallas solucionado el problema, cualquier duda estamos a la orden ya sea si necesitas ayuda con actionscript , php , mysql, ruby , perl , java o cualquier otro lenguaje saludos desde venezuela

atte

ingeniero jose alexis trujillo

caracas-venezuela

Por www.josealexis.tk

5 de clabLevel



Genero:Masculino  

soy ingeniero en sistemas

firefox

 

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