[AS2] Charger plusieurs fichiers, attendre chargement
Bonjour,
Je dois charger plusieurs fichiers XML et si tous les fichiers ont été chargés correctement, lancer la suite de mon animation.
J'ai donc le code suivant:
Ma Classe pour charger un fichier XML
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| import mx.events.EventDispatcher;
class fileXML{
private var dispatchEvent:Function;
public var addEventListener:Function;
var removeEventListener : Function;
var docXML:XML;
//Constructeur
function fileXML(){
docXML = new XML();
mx.events.EventDispatcher.initialize (this);
}
//Choix d'un quizz
function Load(file:String){
var self:fileXML=this;
docXML.ignoreWhite = true;
docXML.load(file);
docXML.onLoad = function(bSuccess:Boolean) {
if(bSuccess) {
trace("ok");
self.dispatchEvent ( {type : "onLoad"});
}else{
trace("error");
self.dispatchEvent ( {type : "onError"});
}
};
}
} |
Et mon code d'appel sur plusieurs fichiers
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| var tabFile:Array=new Array("File1.xml","File2.xml","File3.xml");
var Success:Boolean=true;
for (var i=0;i<tabFile.length;i++){
var file:fileXML=new fileXML();
var listener:Object = new Object();
listener.onLoad = function( evt:Object )
{
trace("ok");
}
listener.onError = function( evt:Object )
{
Success=false;
trace("erreur");
}
file.addEventListener( 'onLoad', listener );
file.addEventListener( 'onError', listener );
file.Load(tabFile[i]);
}
if (Success){
trace("Suite");
} |
Ceci ne marche pas car il lance le chargement des fichiers...Success est à True donc il fait la suite....et seulement après il me dit qu'il y a une erreur dans le chargement d'un fichier...
Je souhaiterais qu'il attende le chargement du 1er fichier..; puis ensuite si cela c'est bien passé, charge le 2ème etc...
Mais je ne vois pas comment faire.
Merci