Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash
Flash Forum d'entraide sur la technologie Flash (Cours, FAQs, Sources)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/07/2007, 17h18   #1
BnA
Membre éclairé
 
Avatar de BnA
 
Inscription : mars 2006
Messages : 559
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mars 2006
Messages : 559
Points : 380
Points : 380
Envoyer un message via MSN à BnA
Par défaut Problème diapo XML une fois online

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!
BnA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2007, 18h03   #2
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 234
Points : 2 234
Lut,

ta essayé de placer le reste de l'url avant le nom de tes images pour le loadClip ?

genre :
Code :
mcl1.loadClip("http://www.moi.com/img/" + images[imageActu].titre, conteneur1);
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2007, 18h05   #3
BnA
Membre éclairé
 
Avatar de BnA
 
Inscription : mars 2006
Messages : 559
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mars 2006
Messages : 559
Points : 380
Points : 380
Envoyer un message via MSN à BnA
En fait je développe ça en local, mais sur un serveur Apache.

Sinon, j'ai essayé en mettant l'url absolue, et même en uploadant les images sur un serveur (imageshack), mais j'ai toujours le même problème...

Edit: Ta technique fonctionne en local (dans Flash), mais pas une fois mise sur le serveur...
BnA est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h31.


 
 
 
 
Partenaires

Hébergement Web