Comunidad de diseño web y desarrollo en internet online

problema con precarga

Citar            
MensajeEscrito el 30 Jul 2010 05:47 pm
hola de nuevo

en este tip
http://www.cristalab.com/tips/ejemplo-de-precarga-simple-en-actionscript-3-c50687l/

se muestra una simple precarga en AS3. estoy intentando que esta precarga empiece con retraso, es decir, hago lo siguiente: cuando acaba una pequeña animacion que tengo en el primer fotograma llamo a una funcion que contiene el loaderinfo, pero no me funciona...

en el ultimo frame de la animacion tengo

Código ActionScript :

MovieClip(root).comenzarCarga();


la funcion si que llega a ser llamada (lo compruebo con un trace) pero el loaderInfo no empieza...

en el primer fotograma (donde tambien esta el mc que tiene la animacion) tengo la carga

Código ActionScript :

stop();
function comenzarCarga() {
   loaderInfo.addEventListener(ProgressEvent.PROGRESS,carga);
}
function carga(event:ProgressEvent):void {
   var total = event.bytesTotal;
   var cargado = event.bytesLoaded;
   var porcentaje = Math.floor((cargado * 100) / total);
   barra.gotoAndStop(porcentaje);
   if (cargado == total) {
      sigue();
   }
}
function sigue() {
   gotoAndPlay(2);
}


pero no me funciona. alguien sabe a que se debe? porque si pongo el loaderInfo fuera de la funcion (para que la carga empiece de inmediato) si que funciona...

milchisimas gracias

Por kaquna

68 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 30 Jul 2010 07:37 pm
he cambiado el codigo de la siguiente manera y sigue sin funcionarme...

Código ActionScript :

function comenzarCarga() {
   this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoadProgress);
   this.loaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
   function onLoadProgress(event:ProgressEvent):void {
      var cargado:int = event.bytesLoaded;
      var total:int = event.bytesTotal;
      var percent:int = Math.floor((cargado * 100) / total);
      barra.gotoAndStop(percent);
   }
   function onLoadComplete(event:Event):void {
      nextFrame();
   }
}

function queFrame(){
trace(anim.currentFrame);
if (anim.currentFrame == 90){
   clearInterval(a);
   comenzarCarga();
}
}

var a = setInterval(queFrame,10);


pero si pongo directamente la funcion sin que este dentro de la funcion queFrame si que funciona

Código ActionScript :

comenzarCarga();


alguna idea de lo que falla? (me esta resultando un tanto doloroso el cambio a AS3...)

milchisimas gracias

Por kaquna

68 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 30 Jul 2010 07:42 pm
bueno, de momento lo he soucionado poniendo en una funcion aparte el nextframe y dentro del onloadcomplete un setTimeout de unos 2 segundos, que es lo que dura la animacion, apuntando a la funcion que lanza en nextframe...

al menos me funciona...

gracias a todos de todas formas

Por kaquna

68 de clabLevel



Genero:Femenino  

firefox

 

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