Ver Mensaje Individual
  #10 (permalink)  
Antiguo 21/12/2009, 12:17
Avatar de Lynxcraft
Lynxcraft
 
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 17 años
Puntos: 51
Respuesta: precargas multiples en actionscript 3

jeje perdonar por contestar ahora pero estado liado si el problema es emn la suma de valores bueno creo que lo he pulido mas al codigo seria asi

Código PHP:
package com.cfx.net{
    
import flash.display.Loader;
    
import flash.display.LoaderInfo;
    
import flash.net.URLRequest;
    
import flash.events.Event;
    
import flash.events.ProgressEvent;

    public class 
MultipleCarga {
        var 
loaders:Array=new Array  ;
        var 
dirs:Array=new Array  ;
        var 
BytesLoaded:Array=new Array
        var 
BytesTotal:Array=new Array
        var 
localFunc:Array=new Array
        var 
globalFunc:Object={GPrecarga:function(){} ,GProgreso:function(l:Number,t:Number){},GResultado:function(l:Array){}};
        var 
cont:int=0;
        public function 
MultipleCarga():void {
        }
        public function 
addDir(dir:String):void {
            
dirs.push(dir);
        }
        public function 
load():void {
            
globalPreloader();
            for (var 
i:int=0dirs.lengthi++) {
                
local(dirs[i],i);
                
BytesLoaded.push(0)
                
BytesTotal.push(0)
                
localFunc.push(temFunc())
            }
        }
        private function 
temFunc():Object{
            var 
func:Object={LPrecarga:function(){} ,LProgreso:function(l:Number,t:Number){},LResultado:function(l:Loader){}}
            return 
func
        
}
        private function 
local(dir:String,id:int):void {
            var 
loader:Loader=new Loader  ;
            
loader.contentLoaderInfo.addEventListener(Event.OPEN,localPreloader);
            
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,localProgress);
            
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,localLoadResult);
            
loader.load(new URLRequest(dir));
            
loaders.push(loader);

            function 
localPreloader(event:Event):void {
                
localFunc[id].LPrecarga();
            }

            function 
localProgress(event:ProgressEvent):void {
                
BytesTotal[id]=event.bytesTotal
                BytesLoaded
[id]=event.bytesLoaded
                localFunc
[id].LProgreso(event.bytesLoaded,event.bytesTotal);
                
globalProgress();
            }

            function 
localLoadResult(event:Event):void {
                
localFunc[id].LResultado(loader);
                
cont++;
                if (
cont == dirs.length) {
                    
globalLoadResult();
                }
            }
        }
        private function 
globalPreloader():void {
            
globalFunc.GPrecarga();
        }
        private function 
globalProgress():void {
            var 
ByL:Number=0
            
var ByT:Number=0
            
for(var i:int=0;i<dirs.length;i++){
                
ByL+=BytesLoaded[i]
                
ByT+=BytesTotal[i]
            }
            
globalFunc.GProgreso(ByL,ByT);
        }
        private function 
globalLoadResult():void {
            
globalFunc.GResultado(loaders);
        }
        public function 
get GobalFunction():Object {
            return 
globalFunc;
        }
        public function 
set GobalFunction(param:Object):void {
            
globalFunc=param;
        }
        
        public function 
get LocalFunction():Array {
            return 
localFunc;
        }
        public function 
set LocalFunction(param:Array):void {
            
localFunc=param;
        }
    }

__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft