Foros del Web » Creando para Internet » Flash y Actionscript »

MyMovieClipLoader v1.2

Estas en el tema de MyMovieClipLoader v1.2 en el foro de Flash y Actionscript en Foros del Web. hola companieros del foro..... pues si, solo quiero poner a su disposicion la ultima actualizacion de esta clase, se trata de una clase para cargar ...
  #1 (permalink)  
Antiguo 20/07/2006, 15:40
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 13 años, 5 meses
Puntos: 53
MyMovieClipLoader v1.2

hola companieros del foro.....

pues si, solo quiero poner a su disposicion la ultima actualizacion de esta clase, se trata de una clase para cargar contenido externo, osea otros swfs, jpgs, pngs, gif dentro de otro contenedor, mostrando un cargador, en esta version le e agregado un par de cosas mas, que estan documentadas en el codigo! espero que a alguien le pueda servir, e tratado de que sea lo mas facil posible de usar.

Código PHP:
/**
 * @Author: Crysfel Villa
 * Created: Saturday, August 13, 2005 6:45:23 PM
 * Modified: Thursday, October  06, 2005 11:10:17 AM
 * Modified: Thursday, July  20, 2006 11:10:17 AM
 * Version:  1.2
 *
 * Con esta clase se puede cargar contenido externo, dentro de algun contenedor, mostrando una animacion de la carga
 * hecha por el el desarrollador, osea que puedes poner la animacion de tu gusto, unicamente debe cumplir con algunas
 * caracteristicas, las cuales se explican en el constructor de la clase.
 */
 
class MyMovieClipLoader extends MovieClipLoader{
    private var 
mcCargando:MovieClip;
    private var 
mcTarget:MovieClip;
    private var 
width:Number;
    private var 
height:Number;
    private var 
funcion:Function;
    private var 
rootHilo:Number;
    
    
/**
     * Contructor de la clase
     * @param cargador:MovieClip es el MC contenedor del cargador, este MC debe tener dos objetos, un Textfield dinamico, y un MovieClip
     *                con una animacion de 100 frames, instanciados como "progress_txt" y "progress_mc" respectivamente.
     *                Puede ademas tener 2 funciones declaradas opcionalmente para la aparicion y salida del cargador contenedor, estas funciones 
     *                deben llamarse intro():Void, out():void, la funcion intro() se dispara cuando inicia la carga y es pensada para la hacer una 
     *                animacion cuando aparece el cargador, y no simplemente entre de golpe, out() es la funcion que dispara 
     *                la animacion de la salida del cargador. Estas dos funciones son opcionales.
     *
     * @return nothing
     */
    
public function MyMovieClipLoader(cargador:MovieClip){
        
mcCargando cargador;
    }
    
    
/**
     * Carga un swf,jpg,gif,png dentro de otro MovieClip
     * @param url:String es la url del archivo a cargar
     *          target:MovieClip es el MC donde se colocara el archivo a cargar.
     *          callBack:Function es un funcion disparada al termino de la carga. 
     * @return nothing
     */
    
public function myLoadClip(url:String,target:MovieClip,callBack:Function):Void{
        var 
myListener:Object = new Object(); 
        
mcTarget target;
        
funcion callBack;
        
this.addListener(myListener);
        
this.loadClip(url,target);
        
mcCargando._visible true;
        
mcCargando.intro();
        if(
target == null)
            
trace("Error en la carga de "+url+" el target es: "+target);
        if(
url==null || url == "")
            
trace("Error en la carga, la url es: '"+url+"'");
    }
    
    
/**
     * @return Number, el width del archivo cargado
     */
    
public function getWidth():Number{
        return 
width;
    }
    
    
/**
     * @return Number, el height del archivo cargado
     */
    
public function getHeight():Number{
        return 
height;
    }
    
    public function 
onLoadStart(target_mc:MovieClip):Void{
 
    }
    
    
/**
     * Cuando haces el TestMovie no funciona (version 7) :( porque??
     * no lo se, pero cuando lo subes a la web, funciona perfecto :) version 8 funciona muy bien :)
     */
    
public function onLoadProgress(target:MovieClip,loadedBytes:Number,totalBytes:Number):Void{
        var 
porcent:Number Math.floor((loadedBytes*100)/totalBytes);
        
mcCargando.progress_mc.gotoAndStop(porcent);
        
mcCargando.progress_txt.text porcent+"%";
        
//trace(porcent);
    
}
   
    public function 
onLoadComplete(target_mc:MovieClip):Void{

    }
    
    
/**
     * Aqui se dispara la funcion out() del cargador contenedor, al mismo tiempo se hace invisible, entonces
     * no se vera la animacion de salida del cargador, para solucionar esto, debes hacer visible el cargador
     * dentro de tu funcion out(); enjoy :)
     */ 
    
public function onLoadInit target_mc:MovieClip ):Void{
        
width target_mc._width;
        
height target_mc._height;
        
mcCargando._visible false;
        
mcCargando.out()
        
funcion();
    }
    
    public function 
onLoadError target:MovieCliperror:String ):Void{
        
trace ("No se pudo cargar el objeto en = " target);
        
trace ("ERROR  = " error);
    }
    
    
/**
     * Con esta funcion puedes monitoriar la carga de la pelicula principal.
     * @param callBack:Function parametro opcional, permite ejecutar una funcion
     *                     al termino de la carga.
     * @return nothing
     */
    
public function cargarRoot(callBack:Function):Void {
        
funcion callBack;
        
mcCargando._visible true;
        
mcCargando.intro();
        
rootHilo setInterval(this,"proggressRoot"10);
    }
    
    private function 
proggressRoot():Void{
        var 
porcent:Number Math.floor((_root.getBytesLoaded()*100)/_root.getBytesTotal());
        
mcCargando.progress_mc.gotoAndStop(porcent);
        
mcCargando.progress_txt.text porcent+"%";
        if (
porcent>=100) {
            
mcCargando._visible false;
            
mcCargando.out();
            
funcion();
            
clearInterval(rootHilo);
        }
    }

la forma de usarla en tus fla seria asi:
Código PHP:
//importamos la clase, debe de estar en el mismo directorio o bien si esta en otro, aqui lo especificas
import MyMovieClipLoader

//hacemos una instancia, pasandole en el constructor la animacion del cargador, como ya se ha explicado una animacion de 100 frames, lee la documentacion de la clase para mayor explicacion
var mcl:MyMovieClipLoader = new MyMovieClipLoader(cargadorAnim);

//aqui monitoriamos el progreso de la pelicula principal, y le pasamos la 
//funcion cargaMain, que se ejecutara en el momento que se cargue la
//pelicula principal
mcl.cargarRoot(cargarMain);

function 
cargarMain():Void{
//esta linea se ejecuta cuando la pelicula principal esta lista, ahora se carga 
//el contenido, dentro de un MovieClip
    
mcl.myLoadClip("main.swf",contenido.main,entrar);
}

function 
entrar():Void{
//una vez todo cargado lo mostramos.
    
contenido.main._visible false;
    
_root.gotoAndPlay(2);

have funnnn
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:04.