Bonjour !

Mon problème est le suivant :

Je veux afficher des images dans mon clip, chargées à partir d'un dossier. Grâce à php, je lis tout ce dossier et je récupère le chemin des images présentent.

Jusqu'ici tout va bien... Grâce à la fonction sendAndLoad je récupère mes noms d'images dans Flash, et là je veux afficher la première image de la liste.

Voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
c.onLoad = function(){
	nb_photos.text = c["nb_pic"]+" photos";
	createEmptyMovieClip("current", 50);
	current.loadMovie("http://www.jfcauto.fr/upload/Andalousie/"+c["image0"]);
	_level0.jfc44.maghreb.onEnterFrame = function() {
		if(current.getBytesTotal()!= 0){
			var total = current.getBytesTotal() ; 
			var lu = current.getBytesLoaded() ; 
			var rapport = (lu)/(total);
			var percent = Math.floor(rapport * 100);
	   		affichage = percent;		
			mask._x = 319 + 0.87*percent; 
			if (rapport >= 1) {
				current._xscale /= 7;
				current._yscale /= 7;
				current._x = 160;
				current._y = 90;
				delete _level0.jfc44.maghreb.onEnterFrame;
			}
		}
	}
};

Ca c'est donc pour l'image de ma séquence (quand l'utilisateur arrive) Il affiche donc la premiere image de mon dossier, tout va bien, le chargement de l'image se passe aussi très bien.
Puis, on peut cliquer sur un bouton à droite pour faire défiler les images, voici le code affecté au onRelease() de ce bouton :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
on(release){
  // Test qui permet de retourner à l'index du début si on est à la derniere image du dossier...	
 if(_parent.image==_parent.c["nb_pic"]-1){
  _parent.image = 0;
 }else{
  _parent.image++;
 }
 
// Chargement de l'image dans le clip
 _parent.current.loadMovie("http://www.jfcauto.fr/upload/Andalousie/"+_parent.c["image"+_parent.image]);
 
  _level0.jfc44.maghreb.onEnterFrame = function() { 
     if(_parent.current.getBytesTotal()!=0){
      var total = _parent.current.getBytesTotal() ;
      var lu = _parent.current.getBytesLoaded() ;
      var rapport = (lu)/(total);
      var percent = Math.floor(rapport * 100);
      _parent.affichage = percent;
      _parent.mask._x = 319 + 0.87*percent; 
      if (rapport >= 1) {
        _parent.current._x = 160;
        _parent.current._y = 90;
        delete _level0.jfc44.maghreb.onEnterFrame;
      }
    }
  };
}
C'est exactement comme le premier code sauf que j'incrémente l'index pour passer à l'image suivante...

Donc où est le problème me dirait vous ? Et bien c'est un problème qui me prend la tête depuis hier soir

Lorsque je charge ma premiere image tout va bien, mais lorsque je veux charger l'image suivante, elle ne marche pas... alors j'essaie l'image suivante... et là... ça marche puis je clique pour passer à la suivante, et ça ne marche pas En gros, une image sur deux qui merde... Alors je pense que ce sont mes images qui sont en progressifs ou autre, mais non, puisque quand je fait le tour, les images qui ne s'etaient pas affichées la premiere fois s'affichent cette fois... En fait, c'est vraiment une sur deux, et comme j'ai un nombre impair de photos dans mon dossier...

Du coup j'ai fait plein de tests, et je remarque que lorsque l'image ne se charge pas, _parent.current.getBytesTotal() est toujours nul... donc je pense que c'est une erreur dans le loadMovie... j'ai essayé de faire un unloadMovie avant, mais ça ne change rien

Est-ce que quelqu'un peut m'aiiiiiiider ? S'il vous plaiiiiiiit !

(Déjà si qqun a eu assez de courage pour me lire jusqu'au bout )