Bonjour,

J'ai comme projet de faire un slideshow en flash ( actionscript 2.0 )
Le slideshow comporte 4 images de publicité ( chargé de l'extérieur )
défilant en boucle.
Le cycle de l'animation se fait dans l'ordre suivant:

1 puis 2...3...4 puis 5

Une fois arrivé à l'image 5 la lecture se fait dans le sens inverse, à savoir :

5...4...3...2..puis 1. avec une vitesse plus rapide ( un rembobinage si l'on peut dire. )

et ainsi de suite... la boucle est bouclée.

A cette animation se rajoute des boutons permettant de se déplacer dans
l'animation.

Exemple :

Si je clique sur le bouton 3 ( alors que je me trouve à l'image 1 ) cela devrait m'emmener à l'image 3. et bien entendu en passant par la 2.
Il en est de même pour le sens inverse : de 5 à 3 par exemple je devrais repasser par 4 pour arriver à 3.

Les images parlent mieux que les mots et c'est pourquoi je vous propose
l'exemple que je dois atteindre :

http://fr.decathlon.com/?T1=PortailFr&T2=BoutonEntrer#

J'ai réussi à faire un mouvement convenable.
La destination des boutons est la bonne
mais la manière de les atteindre ne l'est pas.

J'aimerai avoir votre avis sur le problème, le code et aussi la ou les pistes a explorer pour arriver à mon but.
Je pense être parti dans la mauvaise direction et j'aurais besoin d'être éclairé
par vos lumière



Voici mon 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
//the following 4 sections contain the data
//for each menu item
/*     0     */
var image0uri:String = "images/image0.jpg";
/*     1     */
var image1uri:String = "images/image1.jpg";
/*     2     */
var image2uri:String = "images/image2.jpg";
/*     3     */
var image3uri:String = "images/image3.jpg";
 
var currImage:Number;
var totalImages:Number = 4;
var clique:String = "non";
 
for (var i:Number = 0; i<totalImages; i++) {
    slideShow_mc.slides_mc["holder"+i].loadMovie(this["image"+(i)+"uri"], slideShow_mc.slides_mc.getNextHighestDepth());
}
 
slideShow_mc.slides_mc["holder4"].loadMovie(this["image0uri"], slideShow_mc.slides_mc.getNextHighestDepth());
 
// function for the Next button
function nextMenuItem(eventObj:Object) {
    slideShow_mc.gotoAndPlay("slide"+(currImage));
    if ((currImage+1)>=totalImages) {
        currImage = 0;
    } else {
        currImage++;
    }
 }
 
// add the event listener for the Next button
next_btn1.addEventListener("click",nextMenuItem);
 
next_btn2.addEventListener("click",nextMenuItem);
 
next_btn3.addEventListener("click",nextMenuItem);
 
next_btn4.addEventListener("click",nextMenuItem);
 
trace(currImage);
 
// function for the Next button 1
next_btn1.onPress = function () {
 
            trace(clique);
            clique= "oui";
            currImage = 3;
            slideshow_mc.gotoAndPlay(currImage);
 
}
 
// function for the Next button 2
next_btn2.onPress = function() {
 
        trace(clique);
        clique= "oui";
        currImage = 0;
        slideshow_mc.gotoAndPlay(currImage);
 
}
 
// function for the Next button 3
next_btn3.onPress = function() {
 
        trace(clique);
        clique= "oui";
        currImage = 1;
        slideshow_mc.gotoAndPlay(currImage);
}
 
// function for the Next button4
next_btn4.onPress = function() {
        trace(clique);
        clique= "oui";
        currImage = 2;
        slideshow_mc.gotoAndPlay(currImage);
}
 
 
function diaporama() {
 
    if (clique=="non") {
        if (currImage<3) {
                currImage++;
        }else{
                currImage=0;
        }
        slideShow_mc.gotoAndPlay("slide"+(currImage));
        trace(currImage);
        trace(clique);
 
    }else{
        clique="non";
        currImage--; // pour ne pas que le diaporama passe la slide suivante à toute vitesse !
    }
}
 
 
var intervalID:Number = setInterval(diaporama, 5000);
//clearInterval(intervalID); (si besoin d'arrêter le diaporama)
J'espère que me problème est posé assez clairement et est assez complet
ainsi que ma requete.

Si vous voulez que je vous envoi mon fla/swf, faites le moi savoir.

Si cela peut profiter à d'autres personnes je serai ravi car je me tape la tête
contre les murs, clavier, écran, mes collègues... tout ce qui est dur et à porté de main en somme !!


Je suis au bord de la crise de nerfs.
Merci de votre aide.

( Ps : Je ne suis pas français d'origine, soyez comprhénsif et désolé pour les fautes d'orthographes )