Bonjour,
sur mon album de photos, je souhaite afficher des descriptifs pour chacune des photos, classées par catégories puis par critères.
J'ai donc une fontion qui doit dupliquer des clips dont les variables qui sont affichées proviennent d'un fichier php (--> utilisation de loadVariablesNum).
Cependant, si le chargement de données ne pose aucun problème, c'est l'affichage des clips dupliqués qui semble en cause.
Voici le code de mon fla :
-----------------------------------------
stop();
fin = false;
loadVariablesNum("photos.php?page="+numPageGauche, 0);
chargement = new loadVars();
// fonction qui génère les photos de gauche et de droite en fonction du nbphotosPage
chargement.onLoad = function() {
// pour supprimer les clips dupliqués précédemment
for (var i = 1; i <= 4; i++)
{
removeMovieClip("photo_id_gauche_"+i);
removeMovieClip("photo_id_droite_"+i);
}
// affichage sur la gauche
for (var i = 1; i <= nbphotosPage_gauche; i++) {
var newClip = _root.photo_id_gauche_0.duplicateMovieClip("photo_id_gauche_"+i, i+zindex);
newClip._y = _root.photo_id_gauche_0._y+((110*i)+70);
set("photo_id_gauche_"+i add ":photo_id_gauche_", eval("photo_id_gauche_" add i));
set("photo_id_gauche_"+i add ":des_gauche_", eval("des_gauche_" add i));
zindex = zindex + 4;
}
// affichage sur la droite
for (var j = 1; j <= nbphotosPage_droite; j++) {
var newClip = _root.photo_id_droite_0.duplicateMovieClip("photo_id_droite_"+j, 5000+j+zindex);
newClip._y = _root.photo_id_droite_0._y+((110*j)+70);
set("photo_id_droite_"+j add ":photo_id_droite_", eval("photo_id_droite_" add j));
set("photo_id_droite_"+j add ":des_droite_", eval("des_droite_" add j));
zindex = zindex + 4;
}
};
this.lire = function() {
chargement.load("photos.php?page="+numPageGauche);
}
this.lire();
-----------------------------------------
Voici le code pour aller à la page suivante :
-----------------------------------------
numPageGauche = numPageGauche+2;
numPageDroite = numPageDroite+2;
zindex = zindex + 10;
nomCatGauche = "";
nomCritGauche = "";
nomCatDroite = "";
nomCritDroite = "";
for (var i = 1; i <= 4; i++)
{
removeMovieClip("photo_id_gauche_"+i);
removeMovieClip("photo_id_droite_"+i);
}
loadVariablesNum("photos.php?page="+numPageGauche, 0);
_root.lire();
}
-----------------------------------------
Et pour la page précédente :
-----------------------------------------
on (release) {
fin = false;
zindex = zindex + 10;
numPageGauche = numPageGauche-2;
numPageDroite = numPageDroite-2;
nomCatGauche = "";
nomCritGauche = "";
nomCatDroite = "";
nomCritDroite = "";
for (var i = 1; i <= 4; i++)
{
removeMovieClip("photo_id_gauche_"+i);
removeMovieClip("photo_id_droite_"+i);
}
loadVariablesNum("photos.php?page="+numPageGauche, 0);
_root.lire();
}
-----------------------------------------
En fait j'ai l'impression que les clips s'affichent parfois avant que tout ne soit chargé. Je m'explique : en première page, tout s'affiche normalement. Après, pour la page suivante, il arrive que les clips qui s'affichent soient les mêmes que ceux de la page vue précédemment, et pourtant les données qui sont chargées sont les bonnes (je le vois aux catégories et critères qui correspondent).
D'où vient le problème ? Est-ce qu'il faudrait indiquer que l'affichage ne se fasse qu'après que tout (les clips dupliqués) soit parfaitement chargé ?
Comment puis-je faire ?
Merci pour votre aide. Désolé, le code est peut-être 'sale', mais j'ai un niveau débutant en flash :(