Bonjour,
Je reviens avec mon code, mais avec un autre soucis qui me bloque.
Pour faire court, j'ai créé un diaporama avec deux bouton (suivant et précédent). L'action sur un des boutons, appelle une fonction qui va fouiller dans un fichier XML pour récupérer une photo et ses caractéristiques.
Tout fonctionne parfaitement bien. Pour améliorer le rendu, je souhaite avoir un effet de slide de droite à gauche que on clique sur suivant et de gauche à droite quand on clique sur précédent.
Voici le code qui traite les photos :
Code ActionScript :
function traitementde(ok) {
if (ok) {
voirphoto() ;
}
else {
trace("Erreur au chargement du fichier");
}
}
function voirphoto() {
travail = decoenfants.firstChild ;
visionneusede_mc.precedent_mc._visible = false;
visionner(travail) ;
}
function visionner(travail) {
lestravaux =travail.childNodes;
visionneusede_mc.nMax = lestravaux.length-1 ;
visionneusede_mc.courant = 0 ;
affiche(lestravaux[0]) ;
visionneusede_mc.precedent_mc.onPress = precedent ;
visionneusede_mc.suivant_mc.onPress = suivant ;
}
function affiche(untravail) {
image = untravail.attributes.photo;
commentaires = untravail.childNodes[3].firstChild ;
titre = untravail.childNodes[4].firstChild ;
visionneusede_mc.porteImage_mc.loadMovie("images/decoenfants/"+ image) ;
if (!untravail.childNodes[3].firstChild.nodeValue) {
visionneusede_mc.commentaires_txt.htmlText = "";
} else {
visionneusede_mc.commentaires_txt.html=true;
visionneusede_mc.commentaires_txt.htmlText = commentaires ;
}
if (!untravail.childNodes[4].firstChild.nodeValue) {
visionneusede_mc.titre_txt.htmlText = "";
} else {
visionneusede_mc.titre_txt.html = true ;
visionneusede_mc.titre_txt.htmlText = titre ;
}
}
function precedent() {
if (this._parent.courant > 0) {
visionneusede_mc.suivant_mc._visible = true;
this._parent.courant-- ;
coura = this._parent.courant;
affiche(lestravaux[this._parent.courant]) ;
if (coura == 0){
visionneusede_mc.precedent_mc._visible = false;
}
}
}
function suivant() {
if (this._parent.courant < this._parent.nMax) {
visionneusede_mc.precedent_mc._visible = true;
this._parent.courant++;
cour = this._parent.courant;
affiche(lestravaux[this._parent.courant]) ;
sval = this._parent.nMax;
if (cour == sval){
visionneusede_mc.suivant_mc._visible = false;
}
}
}
La photo se position sur un MC (porteImage_mc). Je ne sais pas comment faire translater ce MC.
Si vous avez des pistes qui puisse me mettre sur la voie, je suis preneur.
En attendant, je vais continuer d'explorer des solutions.
Merci par avance,
Seb