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 10/09/2007, 16h06   #1
Membre du Club
 
Inscription : mai 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 142
Points : 54
Points : 54
Par défaut event onRelease et loadMovie fonctionne une fois sur deux

bonjour,
je commence à me mettre plus sérieusement à Flash et l'Action Script et je voudrai réalisé une "visionneuse" toute simple.
j'ai les liens de mes images dans un fichier xml que je récupère au début de mon appli.
en cliquant sur les boutons gauche et droit je parcoure tout simplement mon xml, jusque là ça fonctionne et ma console m'affiche les bons liens. ce qui ne fonctionne pas, c'est le changement d'image. Je dois cliquer deux fois de suite pour que ça marche. une fois sur deux je n'ai pas d'image alors que le lien est bon.
quelqu'un voit-il une explication? voilà mon code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
stop();
//INITIALISATION
i=0; //var i pour parcourir les index du xml
 
//XML
//on va chercher une première image à afficher dans le xml
img_start=chargement_xml.firstChild.childNodes[0].childNodes[i].attributes.link;
 
//MOVIE CLIP
//on charge la photo dans le movieclip
diapo_mc.loadMovie(img_start);
 
//EVENTS
//on crée un événement sur les boutons gauche et droit
	//bouton droit
right_bt.onPress=function(i){
	i++;
	img_new=chargement_xml.firstChild.childNodes[0].childNodes[i].attributes.link;
	trace(img_new);
	//on modifie l'image
	diapo_mc.loadMovie(img_new);
};
merci pour votre aide
yanice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2007, 17h14   #2
Membre habitué
 
Inscription : septembre 2006
Messages : 232
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 232
Points : 126
Points : 126
salut,
déjà pour commencer, je pense qu'il serait plus simple que tu indexes d'un coup, au debut, dans un tableau tous tes liens pour charger les images.

exemple :

Code :
1
2
3
4
5
6
7
var NbreImagesTotal:Number = chargement_xml.firstChild.childNodes[0].childNodes.length;
 
var ArrayLiensImages:Array = new Array(NbreImagesTotal);
 
for (i=0; i<NbreImagesTotal, i++) {
   ArrayLiensImages[i] = chargement_xml.firstChild.childNodes[0].childNodes[i].attributes.link;
}
comme ca tu n'auras qu a naviguer dans ton tableau pour charger les images, via les liens contenus dans le tableau
éloi_75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2007, 18h06   #3
Membre du Club
 
Inscription : mai 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 142
Points : 54
Points : 54
merci pour ta réponse mais malheureusement le probleme reste le même, d'autant plus qu'il me semble que lorsque je charge le fichier xml dans mon objet chargement_xml, j'obtiens déjà un tableau.
je poste le nouveau code.

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
//on va chercher une première image à afficher dans le xml
var NbreImagesTotal = chargement_xml.firstChild.childNodes[1].childNodes.length;
 
var ArrayLiensImages = new Array(NbreImagesTotal);
 
for(i=0;i<NbreImagesTotal;i++){
   ArrayLiensImages[i]=chargement_xml.firstChild.childNodes[1].childNodes[i].attributes.link;
}
 
img_start=ArrayLiensImages[0];
 
//on charge la photo dans le movieclip
diapo_mc.loadMovie(img_start);
 
//EVENTS
//on crée un événement sur les boutons gauche et droite
	//bouton droit
right_bt.onRelease=function(){
	a++;
	img_new=ArrayLiensImages[a];
	trace(img_new);
	trace(a);
	//on modifie l'image
	_root.diapo_mc.loadMovie(ArrayLiensImages[a]);
};
please help
yanice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2007, 21h54   #4
Membre habitué
 
Inscription : septembre 2006
Messages : 232
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 232
Points : 126
Points : 126
et si tu fais :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var NbreImagesTotal = chargement_xml.firstChild.childNodes[1].childNodes.length;

var ArrayLiensImages = new Array(NbreImagesTotal);

for(i=0;i<NbreImagesTotal;i++){
   ArrayLiensImages[i]=chargement_xml.firstChild.childNodes[1].childNodes[i].attributes.link;
}

var nNum:Number = 0;

diapo_mc.loadMovie(ArrayLiensImages[nNum]);

right_bt.onRelease = function () {
   nNum++;
   loadMovie(ArrayLiensImages[nNum], diapo_mc);
};
éloi_75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2007, 19h11   #5
Membre habitué
 
Inscription : septembre 2006
Messages : 232
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 232
Points : 126
Points : 126
Ca marche?
Si oui, ca aurait été plutôt correct de dire un ptit merci, non ?
éloi_75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2007, 12h02   #6
Membre du Club
 
Inscription : mai 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 142
Points : 54
Points : 54
oui merci ça fonctionne, mais le problème ne venait pas du tout de là en fait. Ca bloquait plus tôt dans mon animation.
yanice est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h08.


 
 
 
 
Partenaires

Hébergement Web