Clase Preload
Bueno no es un secreto que lo que la gente que comienza con Flash su pregunta mas frecuente es ¿como hago un preload?
Aqui pongo un ejemplo que usa el objeto MovieClipLoader, este ejemplo funciona mediante una Clase llamada preload
[FLASH]http://www.tmeister.net/archivos/preload.swf ,400, 300 [/FLASH]
Los archivos fuente AQUI
class preload{
var formato : TextFormat ;
function preload (){
this.formato = new TextFormat ();
this.formato.font = "Verdana";
this.formato.size = 10;
this.formato.bold = true;
this.formato.color = 0x990000;
};
function makeBox (tmp_mc : MovieClip, ancho : Number, largo : Number, p : Number, col : String, x : Number, y : Number) : MovieClip{
var tm_mc = tmp_mc.createEmptyMovieClip ("temp" + p, p);
tm_mc._x = x;
tm_mc._y = y;
tm_mc.lineStyle (1);
tm_mc.beginFill (col);
tm_mc.lineTo (0, 0);
tm_mc.lineTo (0 + largo, 0);
tm_mc.lineTo (0 + largo, 0 + ancho);
tm_mc.lineTo (0, 0 + ancho);
tm_mc.lineTo (0, 0);
tm_mc.createTextField ("caja_txt", 1001, 0, 10, 0, 0);
tm_mc.caja_txt.autoSize = true;
tm_mc.caja_txt.type = "dynamic";
tm_mc.caja_txt.text = "Esperando Buffer";
tm_mc.caja_txt.setTextFormat (this.formato);
return tm_mc;
};
function doLoad (t : MovieClip, url_path : String, antiCache : Boolean, x : Number, y : Number){
var aqui = this;
var holder = t.createEmptyMovieClip ("h", 1);
holder._alpha = 0;
var barra = this.makeBox (t, 5, 300, 10, "0x990000", x, y);
barra._xscale = 1;
var my_mcl = new MovieClipLoader ();
var my_mcl_listener = new Object ();
my_mcl_listener.onLoadProgress = function (t, bl, bt){
var p : Number = (bl / bt) * 100;
barra._xscale = p;
barra.caja_txt.text = "Cargando " + Math.round ((p * 100) / 100) + "%";
barra.caja_txt.setTextFormat (aqui.formato);
};
my_mcl_listener.onLoadComplete = function (){
barra._visible = false;
barra.caja_txt._visible = false;
aqui.fadeIn (holder);
};
my_mcl.addListener (my_mcl_listener);
url_path = (antiCache) ? url_path + "?a=" + new Date ().getTime () : url_path;
trace (url_path);
my_mcl.loadClip (url_path , holder);
};
function fadeIn (holder : MovieClip){
holder.onEnterFrame = function (){
trace(holder._alpha)
if (holder._alpha < 100){
holder._alpha += Math.ceil ((100 - holder._alpha) / 10);
}else{
delete holder.onEnterFrame;
};
};
};
};
uso
Stage.scaleMode = "noScale"; var carga:preload = new preload(); /*parametros MC: donde se creara el Preload url : el SWF o JPG a cargar AntiCache: Boolean true o false x: posicion x de preload y: posicion y del preload */ carga.doLoad(this, "http://tmeister.net/archivos/fondo3.jpg", true, 50, 100);
