Aide - Recherche - Membres - Calendrier
Version complète : MassLoader et Event.COMPLETE
Centre de Formation Flash - Forums Adobe Flash > Adobe Flash > Programmation Actionscript > Actionscript 3
full
Bonsoir smile.gif,

J'ai un petit soucis concernant MassLoader et Event.COMPLETE. J'ai juste voulu faire un test, avec juste un fichié à charger
exemple.xml. Si l'évenement OPEN s'inscrit bien, le COMPLet se semble pas se lancer (pas d'affichage de chargement terminé. Je vois pas ou ça pêche, le code est pas spécialement énorme.



Action Script

<?xml verion="1.0" encoding="utf-8" ?>
<EXEMPLE>
<TEST niveau="1">
</TEST>
</EXEMPLE>


Action Script

package {

import flash.display.*;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.HTTPStatusEvent;
import flash.events.IOErrorEvent;

import ch.capi.net.*;
import ch.capi.events.*;



public class GestionExterne extends MovieClip {

// ** propriétés **



// ** constructeur **

public function GestionExterne():void{

trace("class GestionExterne lancé");

var factory:LoadableFileFactory = new LoadableFileFactory();

//préparation des fichiers

var file1:ILoadableFile = factory.create("exemple.xml");

//création du loader

var loader:MassLoader = new MassLoader();

//ajout des fichiers dans la liste de chargement

loader.addFile(file1);//on en met autant qu'il y a de fichié a charger

loader.addEventListener(Event.OPEN, l);
loader.addEventListener(Event.COMPLETE, l);

//lancement du chargement

loader.start();

}



// ** méthodes **

public function chargementTermine(evt:Event):void{

trace("chargement terminé");

}

var l:Function = function(evt:Event):void
{
trace("event : "+evt.type);
}




// ** FIN **

}
}



Bonne soirée,
full
Bonjour smile.gif,

Après quelques d'essais, je commence plus ou moins à comprendre comment mettre en place en embryon de code qui marche.

Action Script

package {

import flash.display.*;
import flash.utils.*;
import flash.events.*;
import ch.capi.net.*;
import ch.capi.events.*;



public class GestionExterne extends MovieClip {

public function GestionExterne(){

var cl:CompositeMassLoader = new CompositeMassLoader();
var xmlFile:ILoadableFile = cl.addFile("file.xml");

cl.massLoader.addEventListener(MassLoadEvent.FILE_OPEN, eventFile);
cl.massLoader.addEventListener(MassLoadEvent.FILE_CLOSE, eventFile);
cl.massLoader.addEventListener(Event.COMPLETE, completeHandler);

//start the massloader
cl.start();

var _massLoader:CompositeMassLoader = cl;


}

//Uncomment to see the logs of the loading
function eventFile(evt:MassLoadEvent):void { trace(evt.type+" - "+(evt.file as ILoadableFile).urlRequest.url); }



//when all the files are loaded, play
function completeHandler(evt:Event):void { trace("ok"); }





// ** FIN **

}
}


La seul chose que je ne comprends pas c'est qu'a l'affichage j'obtiens ceci

Action Script


fileOpen - file.xml
fileClose - file.xml
fileOpen - file.xml
fileClose - file.xml
fileOpen - file.xml
fileClose - file.xml
ok


Quelqu'un saurait-il pourquoi le bouclage se fait-il 3 fois?

Bonne journée,
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.