Bonjour à tous!
Voici mon problème.
Pour le site web de ma boîte, je dois faire un petit diaporama Flash pour l'affichage des partenaires.
Pour ce faire, j'utilise un fichier XML tout simple, dont voici le code.
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
<?xml version="1.0" encoding="iso-8859-1"?>
<diaporama>
<listPartners nom='img' comm='name'>
<img title='acapela.jpg' comm='Acapela'/>
<img title='cll.jpg' comm='CLL'/>
<img title='references.jpg' comm='References'/>
</listPartners>
<param nom='ParamDiapo' comm='Param'>
<random value='false' comm='Ordre'/>
<start value='1000' comm='Delai'/>
<swapTime value='1500' comm='Intervalle'/>
</param>
</diaporama> |
J'utilise SWFObject pour intégrer mes SWF, et je suis sur le CMS Drupal. J'utilise FF2 et IE6.
Voilà pour les infos techniques.
Mon Flash:
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
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;
var timeStart:Number = 1000;
var timeBetween:Number = 500;
var val_alpha:Number = 0;
var image1:Boolean = false;
var image2:Boolean = false;
var init:Boolean = true;
var conteneur1:MovieClip = this.createEmptyMovieClip("conteneur1", 2);
var mclListener1:Object = new Object();
var mcl1:MovieClipLoader = new MovieClipLoader();
mcl1.addListener(mclListener1);
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);
}
}
imageNormal = function(){
if(imageActu == images.length-1){
imageNext = 0;
}else{
imageNext = imageActu+1;
}
}
conteneur2.onPress = function(){
getURL('http://www.monlien.be',_blank);
//trace('Lien');
} |
En local, ça fonctionne nickel chrome....
Mais une fois online, ça ne marche plus. J'ai ma zone utilisée par l'anim (125x140px), le menu Flash en visible avec un clique-droit, si je clique sur mon anim, j'ai le lien que j'ai demandé, mais mes images ne s'affichent pas.
Bref, je suppose que ça doit être un problème de localisation des images. Mais alors, pourquoi est-ce que ça marche en local?
Merci d'avance aux personnes qui arriveront à m'aider!