Cédric, comme vu par mail la semaine dernière, j'ai bien corrigé ce
probleme,
mais tu m'avais demandé de te tenir au courant au sujet du problème de
priority que je n'arrive pas à résoudre:
je te passe une image (c'est un preloader type Terminal MS_DOS qui
sera utilisé ;-) ) >> où l'on voit bien le problème, mieux que sur un
trace:
http://www.agence-anonyme.com/lab/captureMASAPI.jpg
je stocke mes variables de chargement depuis XML>>>ok elles sont dans
l'ordre
je les passe à mon compositeMassLoader>>>elles sont encore dans
l'ordre
je trace les files au file_open>>>> les fichiers ne sont plus dans
l'ordre de transmission au composite manager
je trace les les files au file_close >>>> les fichiers sont encore
dans un autre ordre
evidement je perd toute référence à ceux ci puisque je n'ai aucun
moyen d'en trouver la position (je pourrai le faire mais je ne devrai
pas en avoir besoin si je résoud...)
je te passe un résumé de mon code (le reste est de la gestion du site
avec box2D ( physic engine)
et ne pose pas de soucis vis à vis de masapi....) dans le dossier ici:
http://www.agence-anonyme.com/lab/masapi_bug.zip
J'ai cherché dans toute la doc mais je ne vois pas d'où vient le
problème..
la version est toujours celle du svn "nightBuild".
thanks
je place le code (résumé) pour d'autres:
package {
//
public class TicTac extends ApplicationDefault {
//////////////////////////////////////////
// Parameters
//////////////////////////////////////////
private var i:int;
private var count:int=0;
private var count2:int=0;
//%%% XML %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
var XMLPath:String="../xml/content.xml";
var loaderXML:URLLoader;
var dataXML:XML;
var imagePath:Array=new Array ;
var txtTab:Array=new Array ;
//%%% Display %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
private var thumbTab:Array = new Array();
/////
//%%% Physic engine %%%%%%%%%%%%%%%%%%%%%%%
//////////////////////////////////////////
// Constructor
//////////////////////////////////////////
public function TicTac() {
loadXML();
}
//////////////////////////////////////////
// Methods
//////////////////////////////////////////
private function loadXML():void {
txt.appendText("\n>_LOAD XML>");
loaderXML=new URLLoader ;
loaderXML.dataFormat=URLLoaderDataFormat.TEXT;
loaderXML.load(new URLRequest(XMLPath));
loaderXML.addEventListener(Event.COMPLETE,EndXMLLoading);
}
private function EndXMLLoading(e:Event):void {
dataXML=new XML(e.target.data);
var imageList:XMLList=dataXML.IMG;
for each (var nodeImg:XML in imageList.children())
{
imagePath.push(nodeImg.@path.toString());
txt.appendText("\n>_XML>"+nodeImg.@path.toString());
}
txt.appendText("\n>__________XMLDATA_LOADED_______\n>_");
loadThumbs();
}
//////////////////////////////////////////
// Methods
//////////////////////////////////////////
private function loadThumbs():void {
txt.appendText("\n>__________CREATE_MASAPI_______\n>_");
cml = new CompositeMassLoader();
//loader.massLoader.parallelFiles=1;
for(i=0;i<imagePath.length;i++)
{
//var flashPicture:ILoadableFile = lf.create(imagePath
[i]);
//loader.addFile(flashPicture)
cml.addFile(imagePath[i]);
txt.appendText("\n>_ADDTOMASAPI>"+imagePath[i].toUpperCase());
//trace(MultiLoader.determine(imagePath[i]));
}
cml.massLoader.addEventListener(Event.OPEN,lOpen);
cml.massLoader.addEventListener(ProgressEvent.PROGRESS,prog);
cml.massLoader.addEventListener
(MassLoadEvent.FILE_OPEN,onFileOpen);///à chaque ouverture de fichier
cml.massLoader.addEventListener(MassLoadEvent.FILE_CLOSE,
onFileClose);///à chaque fichier fini loadé
cml.massLoader.addEventListener(Event.COMPLETE,onComplete);////tout
fichiers chargés
cml.massLoader.start();
}
///////jusqu'ici tout va bien
///////puis les fichiers ne son pas ouvert dans l'ordre...
private function lOpen(e:Event):void {
txt.appendText("\n>______START_MASSLOADING____");
if (preloader==null)
{
preloader = new Sprite();
preloader.graphics.beginFill(0xFFFFFFFF);
preloader.graphics.drawRect(0,0,80,80);
preloader.graphics.endFill();
addChild(preloader);
preloader.x=SW/2-preloader.width/2;
preloader.mouseEnabled=false;
preloader.y=SH/2-preloader.height/2;
} else
{
addChild(preloader);
preloader.x=SW/2-preloader.width/2;
preloader.y=SH/2-preloader.height/2;
}
}
private function onFileOpen(evt:MassLoadEvent):void {
var fileopen:ILoadableFile=evt.getFile();
txt.appendText("\n>FILE_OPEN_"+fileopen);
}
private function onFileClose(evt:MassLoadEvent):void {
count2++;
var file:ILoadableFile=evt.getFile();
var bmp:Bitmap=file.getData(DataType.BITMAP);
var handler:Sprite=new Sprite ;
handler.addChild(bmp);
handler.addEventListener(MouseEvent.CLICK,displayItem);
thumbTab.push(handler);
txt.appendText("\n>FILE_CLOSE_"+file);
}
private function prog(e:ProgressEvent):void {
var percentfloor:Number=Math.floor(e.target.bytesLoaded/
e.target.bytesTotal*100);
if (percentfloor%5==0)
{
txt.appendText("\n>__"+ percentfloor.toString());
}
}
private function onComplete(e:Event):void {
txt.appendText("\n_\n>>_LOADING COMPLETE");
initPhysic();
}
//////////////////////////////////////////
// Methods
//////////////////////////////////////////
}
}