un código un poco raro XDXD ya no trabajo mucho en as2 pero curiosamente tengo una clase que cree de precarga similar al Twenn si te interesa el código es el siguiente
guarda este código junto con el proyecto swf que tengas en un archivo
as y ponle de nombre
Precarga Código PHP:
class Precarga {
private var _timer_mc:Number;
public var cargaResumen:Function;
public var cargaFinalizada:Function;
public var cargaError:Function;
public var func:Function = function (t, b, c, d) {return c*t/d+b;};
public var Total:Number = 0;
public var Cargados:Number = 0;
public var objcarga:Object;
public var obj:Object;
public var propiedad:String;
public var porcentaje:Number;
public var ini:Number;
public var fin:Number;
public var tes:TextField
private var iniAct:Boolean=false
function Precarga(objcarga, porcentaje, obj, propiedad, ini, fin, func) {
this.objcarga = objcarga;
this.obj = obj;
this.propiedad = propiedad;
this.porcentaje = porcentaje;
this.fin = fin;
this.ini = ini
if (func) {
this.func = func;
}
this.inicio()
}
private function OnEnterFrame():Void {
this.Total = this.objcarga.getBytesTotal();
if (this.Total != undefined) {
this.Cargados = Math.round((this.objcarga.getBytesLoaded()/this.objcarga.getBytesTotal())*this.porcentaje);
this.obj[this.propiedad] = this.func(this.objcarga.getBytesLoaded(), this.ini, (this.fin-this.ini), this.Total);
this.cargaResumen();
if (this.objcarga.getBytesLoaded()>=this.objcarga.getBytesTotal()) {
clearInterval(this._timer_mc);
this.cargaFinalizada();
}
if (!this.iniAct){
if (verifica()){
verifica()
}}
} else {
this.cargaError();
}
}
function inicio():Void {
this._timer_mc=setInterval(this, "OnEnterFrame", 1);
}
function verifica():Boolean{
if(! this.cargaIniciada()){
this.iniAct=true
return false
}
return true
}
function cargaIniciada():Boolean{
return false
}
}
y en el archivo fla lo tienes que ejcutar de esta forma
Código PHP:
import Precarga
var pre=new Precarga(this,100,null,null,null,null,null)
pre.cargaResumen=function(){
trace(pre.Cargados+'%')
}
pre.cargaFinalizada=function(){
trace('cargaFinalizada')
}
pre.cargaError=function(){
trace('cargaError')
}
el numero 100 es el valor de porcentaje que se multiplica y el resultado es la variable Cagados pero si quieres controlar una barra de carga por ejemplo lo puedes hacer asi
Código PHP:
import Precarga
var pre=new Precarga(this,100,mc_BarraCarga,'_xscale',0,100,null)
pre.cargaFinalizada=function(){
trace('cargaFinalizada')
}
si te gusta esta forma de trabajar te puedo dar mas ejemplos de como aplicarlo con efectos elásticos y con cargas externas XDXD