Salut tout le monde... alors voilà, je suis dsl mais je ne sais plus où j'ai pris le code dont je vais vous parler :/ snif.
Le code suivant permet de charger un fichier xml contenant une liste d'images. Les dites images sont ensuite chargées successivement dans 2 clips superposés, et sont manipulés pour donner un effet de transition genre, "fondu enchainé"... très cool... ça marche bien, mais j'aimerais qu'en appuyant sur un bouton, on charge un autre fichier xml... et que donc, d'autres images défilent... voilà le code de départ, qui charge tout ça :
//Création des variables
var images:Array = new Array();var param:Array = new Array();var imageActu:Number;var imageNext:Number;var annee:Date = new Date();
var interAlpha:Number;var interImage:Number;var interTest:Number; //Viariables des intervals
var timeStart:Number = 1000;var timeBetween:Number = 500; //Temps de pause par défaut
var val_alpha:Number = 0; //Variable pour la transition alpha
var image1:Boolean = false;var image2:Boolean = false;var init:Boolean = true; //Création des flags
//MovieClip Conteneur1
var mclListener1:Object = new Object();var mcl1:MovieClipLoader = new MovieClipLoader();mcl1.addListener(mclListener1);
//MovieClip Conteneur2
var mclListener2:Object = new Object();var mcl2:MovieClipLoader = new MovieClipLoader();mcl2.addListener(mclListener2);
//Création d'un nouveau menu contextuel
var rootMenu = new ContextMenu();rootMenu.hideBuiltInItems();var rootMenuItem = new ContextMenuItem("© "+annee.getFullYear()+" ecranbleuxv.fr", email);
rootMenu.customItems.push(rootMenuItem);_root.menu = rootMenu;function email() {getURL("http://www.ecranbleuxv.com/sites/ecb/index.html", "_blank");}
var diapo:XML = new XML();
diapo.ignoreWhite = true;
diapo.load("upload/lesimagesMenu1.txt");
//Traitement une fois le chargement effectuer
diapo.onLoad = function(success:Boolean) {
if(success){
//Creation des noeud
var noeudImage:XMLNode = this.firstChild.childNodes[0];
var noeudParam:XMLNode = this.firstChild.childNodes[1];
for (var i:Number = 0; i<noeudImage.childNodes.length; i++){
var temp:Object = new Object();
temp.titre = noeudImage.childNodes[i].attributes.titre;
temp.comm = noeudImage.childNodes[i].attributes.comm;
temp.xTxt = noeudImage.childNodes[i].attributes.xTxt;
temp.yTxt = noeudImage.childNodes[i].attributes.yTxt;
images.push(temp);
}
for (var i:Number = 0; i<noeudParam.childNodes.length; i++){
var temp:Object = new Object();
temp.valeur = noeudParam.childNodes[i].attributes.valeur;
temp.comm = noeudParam.childNodes[i].attributes.comm;
param.push(temp);
}
imageInit();
}
}
imageInit = function(){
if((param[0].valeur == "true")|(param[0].valeur == undefined)){
imageActu = randomNum(0, images.length-1);
imageNext = randomNum(0, images.length-1);
imageRandom();
}else{
imageActu = 0;
imageNormal();
}
if(param[1].valeur != undefined){timeStart = param[1].valeur;}
if(param[2].valeur != undefined){timeBetween = param[2].valeur;}
mcl1.loadClip(images[imageActu].titre, conteneur1);
mcl2.loadClip(images[imageNext].titre, conteneur2);
}
mclListener1.onLoadComplete = function(target:MovieClip):Void {
image1 = true;
if(init){
if(image2){
init = false;
interImage = setInterval(_root,"imageSwap",timeStart);
}
}else{
conteneur2.swapDepths(conteneur1);
mcl2.loadClip(images[imageNext].titre, conteneur2);
}
}
mclListener2.onLoadComplete = function(target:MovieClip):Void {
image2 = true;
if(init){
if(image1){
init = false;
interImage = setInterval(_root,"imageSwap",timeStart);
}
}else{
interImage = setInterval(_root,"imageSwap",timeBetween);
}
}
imageSwap = function(){
clearInterval(interImage);interAlpha = setInterval(this,"imageAlpha",6);}
imageAlpha = function(){
if(val_alpha < 100){
conteneur1._alpha = (100-val_alpha);
conteneur2._alpha = val_alpha;
val_alpha += 1;
}
else{
clearInterval(interAlpha);
val_alpha = 0;
imageActu = imageNext;
if(param[0].valeur == "true"){
imageRandom();
}else{
imageNormal();
}
conteneur1.swapDepths(conteneur2);
conteneur1._alpha = 100;
mcl1.loadClip(images[imageActu].titre, conteneur1);
}
}
imageRandom = function(){
while(imageActu == imageNext){imageNext = randomNum(0, images.length-1);}}
imageNormal = function(){
if(imageActu == images.length-1){imageNext = 0;}else{imageNext = imageActu+1;}}
randomNum = function(min:Number, max:Number):Number{
var num:Number = Math.floor(Math.random() * (max - min + 1)) + min;return num;}
Un ligne spécifie le fichier xml à charger (je l'ai renommé en txt comme ça, mais ça ne gene en rien le flash...)
diapo.load("upload/lesimagesMenu1.txt");
il faudrait genre avoir ce genre de truc :
on (release) {
diapo.load("upload/lesimagesMenu2.txt");
}
Enfin lui donner une autre référence quoi...
Quelqu'un saurait ffaire de ce genre de truc, je me retrouve coincé de chez coincé là

.
Merci de votre aide !!!!