Comunidad de diseño web y desarrollo en internet online

Problema con TypeError: Error #1009!

Citar            
MensajeEscrito el 25 Abr 2010 09:58 pm
Hola! soy nuevo en esto del flash y encontre un tutorial para un preloader en una pagina, si me funciona y todo pero el problema es que el output siempre me manda el siguiente mensaje justo despues de terminar la precarga:

"TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at webisteOriginal_fla::MainTimeline/loading()"

No se que puede ser el problema, digo la precarga funciona correctamente y todo, pero no me gusta que salga ese Error y quiero tratar de solucionarlo. Les dejo el AS3:

stop();

addEventListener(Event.ENTER_FRAME, loading);

function loading(event:Event):void {
var bytesTotales=stage.loaderInfo.bytesTotal;
var bytesCargados=stage.loaderInfo.bytesLoaded;
var porcentaje=Math.round(bytesCargados*100/bytesTotales);

this.mcLoadSite.tPercent.text=porcentaje+"%";
mcLoadSite.gotoAndStop(porcentaje);

if (bytesCargados==bytesTotales) {
removeEventListener(Event.ENTER_FRAME,loading);
gotoAndPlay("EnterSite");
this.mcLoadSite.tPercent.text="";
removeChild(this.mcLoadSite.tPercent);
removeChild(mcLoadSite);

}
}

tengo un MC llamado "mcLoadSite" y un texto dinamico dentro del MC llamado "tPercent"

de ante mano gracias!

Por frakkur

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Abr 2010 11:20 pm
Muy bien! el 95% de los que comienzan un post diciendo que son nuevos suelen ignorar esos mensajes y luego lloran porque no les funciona nada. Felicidades te mereces una medalla ^_^.

Haber ese error se refiere a que estas modificando o llamando a un metodo de algun objeto que en ese momento no existe. Es bastante comun cuando usas la linea de tiempo con codigo en diferentes sitios si no lo vigilas bien.

Fijate bien en este caso:

Código :

if (bytesCargados==bytesTotales) {
removeEventListener(Event.ENTER_FRAME,loading);//Quitas el evento
gotoAndPlay("EnterSite");//mandas la animacion a otro frame
/*Aqui supongo que esta el error. Despues de decirle que vaya al frame 
"EnterSite" dices que busque un MC llamado mcLoadSite que 
posiblemente no existe.*/
this.mcLoadSite.tPercent.text="";
removeChild(this.mcLoadSite.tPercent);
removeChild(mcLoadSite);

}


yo dejaria tu codigo asi:

Código :

if (bytesCargados==bytesTotales) {
removeEventListener(Event.ENTER_FRAME,loading);
this.mcLoadSite.tPercent.text="";//Esta linea no creo que sea necesaria
removeChild(this.mcLoadSite.tPercent);//Esta tampoco
removeChild(mcLoadSite);
gotoAndPlay("EnterSite");
}

Por Atomsk

350 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 26 Abr 2010 01:33 am
Muchisimas gracias YA QUEDO PERFECTO! creo que ya enendi en donde estaba mi error; para dejar todo claro, mi error era que primero trataba de remover cosas que ya no existian por que me habia movido de ese frame, entonces tu me recomendaste quitar dos lineas que era redundantes (los 2 remove de mi texto dinamico y mi MC) y primero remover el EventListener y despues ir al gotoAnPlay y estos comando yo los tenia al reves, estoy en lo correcto?

en fin Muchisismas Gracias n_n

Por frakkur

2 de clabLevel



 

firefox

 

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