2010-11-19 6 views
0

Problème - au lieu de faire défiler les images du tableau, il passe directement au dernier.tableau d'images - ne pas parcourir toutes les images

import fl.transitions.Tween; 
import fl.transitions.easing.*; 

play_btn.addEventListener(MouseEvent.CLICK, goPlay) 

var images = new Array(); 

images[0] = "1.jpg"; 
images[1] = "2.jpg"; 
images[2] = "3.jpg"; 
images[3] = "4.jpg"; 
images[4] = "5.jpg"; 
images[5] = "6.jpg"; 
images[6] = "7.jpg"; 
images[7] = "8.jpg"; 
images[8] = "9.jpg"; 
images[9] = "10.jpg"; 

var currentImage:int = 0; 

function goPlay(e:MouseEvent):void { 
while (currentImage < 10) { 

    loadWindow.source = images[currentImage]; 
    currentImage++; 
    var myTween:Tween = new Tween(loadWindow, "alpha", None.easeOut, 1, 0, 3, true) 

} 
} 
+0

code mis à jour, ne fonctionne toujours pas – Expecto

Répondre

2

Voici votre problème

sur goplay, vous défiler tous, et se terminent à la dernière

essentiellement que vous faites ce

function goPlay(e:MouseEvent) { 
    loadWindow.source = images[0]; 
    var myTween:Tween = new Tween(loadWindow, "alpha", None.easeOut, 1, 0, 5, true); 
    loadWindow.source = images[1]; 
    var myTween:Tween = new Tween(loadWindow, "alpha", None.easeOut, 1, 0, 5, true); 
    loadWindow.source = images[2]; 
    var myTween:Tween = new Tween(loadWindow, "alpha", None.easeOut, 1, 0, 5, true); 
    etc.. 
    loadWindow.source = images[9]; 
    var myTween:Tween = new Tween(loadWindow, "alpha", None.easeOut, 1, 0, 5, true); 
} 

qui devient

function goPlay(e:MouseEvent) { 
    loadWindow.source = images[9]; 
    var myTween:Tween = new Tween(loadWindow, "alpha", None.easeOut, 1, 0, 5, true); 
} 

donc chaque fois que vous cliquez, seule la dernière image est ajouté

vous devez définir la variable i en dehors de la fonction

quelque chose comme ça

var _currentImage:int = 0; 
function goPlay(e:MouseEvent) { 
    currentImage = (currentImage+1)%images.length; 
    loadWindow.source = images[currentImage]; 
    var myTween:Tween = new Tween(loadWindow, "alpha", None.easeOut, 1, 0, 5, true); 
} 

espère qu'il est clair


si vous voulez que l'animation se fasse automatiquement (après avoir appuyé sur le bouton) ...

var _currentImage:int = 0; 
var myTimer:Timer = new Timer(5000, 0); // 5 seconds 
myTimer.addEventListener(TimerEvent.TIMER, switchPics); 

function goPlay(e:MouseEvent) { 
    myTimer.start(); 
} 

function goStop(e:MouseEvent) { 
    myTimer.stop(); 
} 

function switchPics(event:TimerEvent):void { 
    currentImage = (currentImage+1)%images.length; 
    loadWindow.source = images[currentImage]; 
    var myTween:Tween = new Tween(loadWindow, "alpha", None.easeOut, 1, 0, 5, true); 
} 
+0

Cela semble fonctionner mais je me demandais s'ils voulaient le bouton goPlay() pour parcourir les images comme une animation. Plutôt que de cliquer à chaque fois pour parcourir les images. – Emile

+0

Oui, il doit être comme un sideshow - cyclisme automatiquement – Expecto

+0

* C'est pourquoi je l'ai eu dans une boucle – Expecto