Bonjour,
j'utilise le script suivant (que j'ai pris sur ce site) qui gère un diaporama avec des fichiers images externes listés dans un fichier XML
en local cela fonctionne bien mais depuis un site internet aucune image ne s'affiche, comme si le load du fichiir xml ne fonctionnait pas (voir texte en Gras ci-dessou)
pour info le fihcier xml et le fichier flash swf et les fichiers images sont dans le meme répertoire
une idée ? merci d'avance
//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();
//Viariables des intervals
var interAlpha:Number;
var interImage:Number;
var interTest:Number;
//Temps de pause par défaut
var timeStart:Number = 1000;
var timeBetween:Number = 500;
//Variable pour la transition alpha
var val_alpha:Number = 0;
//Création des flags
var image1:Boolean = false;
var image2:Boolean = false;
var init:Boolean = true;
//MovieClip Conteneur1
var conteneur1:MovieClip = this.createEmptyMovieClip("conteneur1", 2);
var mclListener1:Object = new Object();
var mcl1:MovieClipLoader = new MovieClipLoader();
mcl1.addListener(mclListener1);
//MovieClip Conteneur2
var conteneur2:MovieClip = this.createEmptyMovieClip("conteneur2", 1);
var mclListener2:Object = new Object();
var mcl2:MovieClipLoader = new MovieClipLoader();
mcl2.addListener(mclListener2);
//Chargement du fichier XML contenant la liste des photos
var diapo:XML = new XML();
diapo.ignoreWhite = true;
diapo.load("diapo.xml");
//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;
}
Contenu du fichier xml :
<?xml version="1.0" encoding="iso-8859-1"?>
<DIAPO>
<LISTE nom='Liste images' comm='Liste des images.'>
<IMAGE titre='tof1.jpg' comm='Image 1' />
<IMAGE titre='tof2.jpg' comm='Image 2' />
<IMAGE titre='tof3.jpg' comm='Image 3' />
<IMAGE titre='tof4.jpg' comm='Image 4' />
<IMAGE titre='tof5.jpg' comm='Image 5' />
<IMAGE titre='tof6.jpg' comm='Image 6' />
<IMAGE titre='tof7.jpg' comm='Image 7' />
<IMAGE titre='tof8.jpg' comm='Image 8' />
<IMAGE titre='tof9.jpg' comm='Image 9' />
<IMAGE titre='tof10.jpg' comm='Image 10'/>
</LISTE>
<PARAM nom='ParamDiapo' comm='Paramétres du diaporama'>
<RANDOM valeur='true' comm='Ordre des images'/>
<TIME_START valeur='1000' comm='Tempo de démarrage'/>
<TIME_BETWEEN valeur='1500' comm='Tempo entre les images'/>
</PARAM>
</DIAPO>