Ok, esta clase MyMovieClipLoader tiene como proposito cargar imagenes o swf's externos, lo que hace es correr una animacion del cargador que tu quieras que aparesca a la hora de la carga, luego cuando la carga a terminado se ejecuta una funcion que tu especifiques que quieras que ocurra cuando la carga es completada.
aqui la clase MyMovieClipLoader.as
Código PHP:
/*
* Author: Crysfel Villa
* Created: Saturday, August 13, 2005 6:45:23 PM
* Modified: Thursday, October 06, 2005 11:10:17 AM
* Version: 1.1
*/
class MyMovieClipLoader extends MovieClipLoader{
private var mcCargando:MovieClip;
private var mcTarget:MovieClip;
private var bytesCargados:Number;
private var ancho:Number,alto:Number;
private var funcion:Function = null;
public function MyMovieClipLoader(cargador:MovieClip,fn:Function){
mcCargando = cargador;
funcion = fn;
trace(mcCargando);
}
public function myLoadClip(url:String,target:MovieClip):Void{
var myListener:Object = new Object();
mcTarget = target;
this.addListener(myListener);
this.loadClip(url,target);
trace("hacemos el loadClip");
}
public function setTamanio(an:Number,al:Number):Void{
ancho = an;
alto = al;
//trace(ancho +" x " + alto);
mcTarget._width = an;
mcTarget._height = al;
}
public function onLoadStart ( target_mc:MovieClip ):Void
{
//trace("no hacemos nada en este evento :)");
}
//Cuando haces el TestMovie no funciona :( porque??
//no lo se, pero cuando lo subes a la web, funciona perfecto :)
public function onLoadProgress(target:MovieClip,loadedBytes:Number,totalBytes:Number):Void
{
bytesCargados = Math.floor((loadedBytes*100)/totalBytes);
mcCargando.gotoAndStop(bytesCargados);
}
public function onLoadComplete(target_mc:MovieClip):Void
{
mcCargando._visible = false;
mcCargando.removeMovieClip();
//disparamos la funcion que querremos que se ejecute al
//finalizar la carga :)
funcion();
trace("Termino la carga");
}
public function onLoadInit ( target_mc:MovieClip ):Void
{
//trace("no hacemos nada en este evento");
}
public function onLoadError ( target:MovieClip, error:String ):Void
{
trace ("No se pudo cargar el objeto en = " + target);
trace ("ERROR = " + error);
}
}
Código PHP:
//importamos la clase, debe de estar en el mismo directorio que
//el FLA para que funcione bien
import MyMovieClipLoader;
//en este caso YO le llame mcAnim a un MC que de 100 Frames de duracion
//que contiene la animacion de la carga, lo hago invisible al momento inicial
mcAnim._visible = false;
//cuando se presione un boton "btn"
btn.onRelease = function():Void{
//hago visible la animacion de la carga
mcAnim._visible = true;
//creo un objeto de la clase MyMovieClipLoader, pasandole como parametros
//al constructor la animacion de la carga, y la funcion a ejecutarse al
//terminar la carga
var c:MyMovieClipLoader = new MyMovieClipLoader(mcAnim,hola);
//una vez construido el objeto, le paso los parametros del archivo
//externo que quiero cargar, y le paso el MC donde quiero que cargue
//en este caso una imagen
c.myLoadClip("imagen.jpg",mcDestino);
}
//esta funcion es la que le paso en el constructor
function hola():Void{
//instrucciones a ejecutarse cuando termine la carga
trace("ya termino y ahora ejecuto mis instrucciones :D");
//pones todo lo que quieras que ocurra!! :D
}
preguntas?? comentarios?? posteen