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=0; i < dirs.length; i++) {
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;
}
}
}