C'est la première fois que je post un sujet sur un forum car habituellement je trouvais mes réponses sur des forums et tutos mais là je séche...
Voila mon problème: je dois créer un affichage dynamique sous flash.
je souhaiterais avoir un fichier .FLV (main.fla) qui afficherait des swf (anim1.swf, anim2.swf) les un à la suite des autres en fonction d'un document .xml (annonce.xml).
Le problème est que le fichier .xml (annonce.xml) est générer dynamiquement ( il peut contenir sois 1 annonce sois x annonces) et que pour chaque annonce je doit lire l'anim .swf correspondant et intégrer dans ses animations les informations du fichier .xml (titre & message).
Je n'ai que 2 style d'animation (anim1.swf, anim2.swf).
En gros je souhaiterais avoir un .fla parent qui récupère les données du XML ( jusqu'ici pas de problème), qui lance les uns a la suite des autres les swf enfant correspondant et qui envoi des variables au swf enfant.
Je remercie, par avance, tous ceux qui aurons le temps de jeter un œil !
ps: je débute sur AS3 et la logique du code orienté objet me désoriente un peu...
le fichier XML type:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<annonce>
<id>1</id>
<titre>titre1</titre>
<message>message1</message>
<style>anim1.swf</style>
</annonce>
<annonce>
<id>2</id>
<titre>titre2</titre>
<message>message2</message>
<style>anim2.swf</style>
</annonce>
<annonce>
<id>X</id>
<titre>titreX</titre>
<message>messageX</message>
<style>anim1.swf</style>
</annonce>
</root>
code du main.fla
var chargementXML:URLLoader = new URLLoader();// objet de chargement
var fichier:URLRequest = new URLRequest("fichier_texte.xml");// url du fichier XML chargé
chargementXML.addEventListener( Event.COMPLETE, chargementComplet );
chargementXML.load( fichier );
// chargement terminé du fichier xml;
function chargementComplet(pEvt:Event):void
{// on récupère notre xml
var annonce:XML = new XML(pEvt.target.data);
var infos:XMLList = annonce.elements();
var total= annonce.children().length(); // comptabilise le nombre de noeud du xml
var i:int; // initialise le compteur
for (i=0; i<total; i++)
{
trace (annonce.infos[i])
}
var adresse:URLRequest = new URLRequest("animation_final2.swf");
var loader:Loader = new Loader();
loader.load(adresse);
addChild(loader);