Diaporama as2 avec bouton suivant et precedent

ahmedhrbdj Messages postés 22 Date d'inscription dimanche 10 décembre 2000 Statut Membre Dernière intervention 18 mars 2014 - 11 janv. 2010 à 10:22
ahmedhrbdj Messages postés 22 Date d'inscription dimanche 10 décembre 2000 Statut Membre Dernière intervention 18 mars 2014 - 19 janv. 2010 à 19:36
Salut tout le monde !

- j'aimerai afficher une serie de petites vignettes qui défilent grâce à des boutons suivant et précèdent ; imaginons que j'ai 20 vignettes, et que seulement 5 vignettes soient visible à la fois et qu'en cliquant sur le bouton "suivant" je puisse accéder aux 5 autres et ainsi de suite en cliquant sur le même bouton "suivant" ...

(quand je clic sur une des vignettes, la photo s'affiche en grand au dessus, mais ça c pas un probleme)

j'ai essayé ça :

[i]_root.suivant_btn.onPress = function() {
if (_root.vignette_mc("serie1")) {
_root.vignette_mc.gotoAndStop("serie2");

} else if (_root.vignette_mc("serie2")) {
_root.vignette_mc.gotoAndStop("serie3");

} else {
_root.vignette_mc.gotoAndStop("serie1");

}
};/i

mais ça marche pas dutout...

si quelqun peut m'aider, je l'en remercie par avance


bonne journée tout le monde

4 réponses

piere2 Messages postés 235 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 26 mai 2013
11 janv. 2010 à 18:48
Bonsoir,
Les vignettes sont-elles de même largeur ou de largeurs différentes.
Ne préfèrerais-tu pas un défilement au btn.onPress et un arrêt au btn.onRelease et dans les 2 sens bien sûr?

Pi'ère2
0
ahmedhrbdj Messages postés 22 Date d'inscription dimanche 10 décembre 2000 Statut Membre Dernière intervention 18 mars 2014
19 janv. 2010 à 14:01
Bonjour Piere2,

toutes les vignettes sont de la même largeur...

OUI un défilement serai bien mieux d'ailleurs, maintenant j'ai tenté ça :
[i]
import mx.transitions.Tween;
import mx.transitions.easing.*;

var i:Number = 1;

//programmation bouton suivant

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

ça marche nickel !!!!

en revanche, je n'arrive pas à faire l'inverse avec le bouton precedent...

Si tu as qlq chose à me proposer, n'hesite pas

en tout cas merci !

++
0
piere2 Messages postés 235 Date d'inscription lundi 26 février 2007 Statut Membre Dernière intervention 26 mai 2013
19 janv. 2010 à 18:30
Bonjour,
voici une possibilité de code pour un défilement d'un objet 'barre' contenant les vignettes;
deux boutons droite (btD) et gauche (btG):
th = this;
sens="d";
btD.onPress = function() {
sens = "d";
long = -20;//-20 à régler
tempo = setInterval(th, "defilement", 100);//100 à régler
};

btD.onRelease = function() {
clearInterval(tempo);
};

btG.onPress = function() {
sens = "g";
long = 20;//20 à régler
tempo = setInterval(th, "defilement", 100);//100 à régler
};

btG.onRelease = function() {
clearInterval(tempo);
};


function defilement() {
if (sens == "d" && barre._x<=-200) {//200 (pixels) à régler en fonction du nombres et de lataille des photos dans 'barre' (MovieClip)
clearInterval(tempo);
} else if (sens == "g" && barre._x>=0) {
clearInterval(tempo);
} else {
barre._x += long;
}
}



Pi'ère2
0
ahmedhrbdj Messages postés 22 Date d'inscription dimanche 10 décembre 2000 Statut Membre Dernière intervention 18 mars 2014
19 janv. 2010 à 19:36
Merci beaucoup Piere2 !!!

ça fonctionne assez bien ! et ça pourra m'aider !

ceci dit c pas vraiment ce que je cherche à faire ; j'ai essayé avec ds tween:

voilà où j'en suis :

[i]import mx.transitions.Tween;
import mx.transitions.easing.*;

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

var i:Number = 1;

//programmation bouton suivant

suiv_mc.onRelease = function() {
if (i<4) {

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;
}
}
};

//programmation bouton precedent

prec_mc.onRelease = function() {
if (i>1) {

pos = (vign_mc._width/4)*-i;
t = new Tween(vign_mc, "_x", Back.easeOut, vign_mc._x, pos+50 , 1, true);

i--;
if (i == 1) {
prec_mc._visible = false;
}
}
};/i

ça fonctionne pas mal, mais je n'arrive pas à programmer correctement le bouton precedent :

- au premier clic sur ce bouton "precedent", mes vignettes avances comme si je cliquer sur le bouton suivant ;
- au deuxieme clic (et les autres clics) ça fonctionne normalement, cad que les vignettes reculent...
Je ne comprends pas pourquoi au premier clic ça ne marche pas

en tout cas , merci piere2 !!!!
0
Rejoignez-nous