Diaporama...

Signaler
Messages postés
22
Date d'inscription
dimanche 10 décembre 2000
Statut
Membre
Dernière intervention
18 mars 2014
-
Messages postés
401
Date d'inscription
mercredi 12 novembre 2003
Statut
Membre
Dernière intervention
31 janvier 2010
-
Salut tout le monde !!!

j'essaie de faire un diaporama, avec une serie de vignettes (nommé "vign_mc"), qui se decalle vers la gauche ou vers la droite grace à des boutons "suivant" (que j'ai nommé "suiv_mc") et "precedent"(nommé "prec_mc") ;

Pour le moment le bouton "suivant" fonctionne parfaitement; voilà ce que j'ai mis :
[i]
import mx.transitions.Tween;
import mx.transitions.easing.*;

var i:Number = 1;

//programmation bouton suivant

suiv_mc.onRelease = function() {
if (i<4) {
prec_mc._visible = true;
pos = (vign_mc._width/4)*-i;
t = new Tween(vign_mc, "_x", Back.easeOut, vign_mc._x, pos+50, 1, true);

i++;
if (i == 4) {
suiv_mc._visible = false;
}
}
};/i

maintenant, je veux programmer le bouton precedent, mais sans succes....

si quelqu'un peut m'aider, merci !!!!

5 réponses

Messages postés
401
Date d'inscription
mercredi 12 novembre 2003
Statut
Membre
Dernière intervention
31 janvier 2010

Salut,

import mx.transitions.Tween;
import mx.transitions.easing.*;
var i:Number = 1;
var max:Number = 4;
prec_mc._visible = i<max; // tu va me dire c'est bête mais je n'aime pas initialiser à true/false quand c'est conditionné
suiv_mc.onRelease = bouger;
prec_mc.onRelease = bouger;
function bouger() {
switch(this) {
case suiv_mc:i++;break;
case prec_mc:i--;break;
}
prec_mc._visible = i<max;
suiv_mc._visible = i>1;
// je ne sais pas trop ce que tu veux faire exactement comme
// mouvement donc je te laisse ça à travailler :)
pos = (vign_mc._width/4)*-i;
t = new Tween(vign_mc, "_x", Back.easeOut, vign_mc._x, pos+50, 1, true);
}
}


il y a sans doute des erreurs (de frappe?), il est tard.
Messages postés
22
Date d'inscription
dimanche 10 décembre 2000
Statut
Membre
Dernière intervention
18 mars 2014

Merci Cracter !!!! ça fonctionne presque, mais il y a un souci au départ de l'annim : quand on clic sur le bouton "prec", le bouton "suiv" disparaît ; et quand on clic sur le bouton "suiv" au départ de l'anim, la série de vignette se déplace à la 3eme serie de vignette et non à la 2eme (j'ai mis vign_mc._width/4 parce que j'ai 5 vignettes visibles pour un total de 20 vignettes) ... Si tu as une solution, elle est la bien venu, lol...

Sinon, j'ai résolu le souci et voici le code complet :

import mx.transitions.Tween;
import mx.transitions.easing.*;


myvignette0 = new Tween(vign_mc, "_x", Back.easeOut, -200, 50, 1, true);

var i:Number = 0;
prec_mc._visible = false;

suiv_mc.onRelease = function(){
if(i<3){
if(i==0){
prec_mc._visible = true;
}
i++;
pos = (vign_mc._width/4)*-i;
t = new Tween(vign_mc, "_x", Back.easeOut, vign_mc._x, pos+50, 1, true);
if(i==3){
suiv_mc._visible = false;
}
}
}


prec_mc.onRelease = function(){
if(i>0){
if(i==3){
suiv_mc._visible = true;
}
i--;
pos = (vign_mc._width/4)*-i;
t = new Tween(vign_mc, "_x", Back.easeOut, vign_mc._x, pos+50, 1, true);
if(i==0){
prec_mc._visible = false;
}
}
}


Il fallait que j'initialise ma variable à 0.... et la ça marche super (n'oubliez pas que c pour afficher 5 vignettes à la fois sur une série de 20 vignettes ...

enjoy
Messages postés
401
Date d'inscription
mercredi 12 novembre 2003
Statut
Membre
Dernière intervention
31 janvier 2010

de rien
Messages postés
22
Date d'inscription
dimanche 10 décembre 2000
Statut
Membre
Dernière intervention
18 mars 2014

LOL !!!

si tu peux me dire ce qui cloche dans ton code, c cool, sinon encore merci, lol !!!!
Messages postés
401
Date d'inscription
mercredi 12 novembre 2003
Statut
Membre
Dernière intervention
31 janvier 2010

Rien ne cloche dans mon post :).

Comme je te l'ai marqué il faut corriger un peu le code l'ayant tapé de tête. J'étais en période de concours (que je viens de finir youpi) donc pas très présent et j'ai malgré tout dû maché à peu près 99% du travail donc pas besoin de LOLiser comme ça, c'est désagréable...

Sinon je peux faire des formations, pas de soucis, mais c'est beaucoup plus chère .