2010-11-19 4 views
0

問題 - アレイ内のイメージを循環する代わりに、最後のイメージに右にジャンプします。イメージアレイ - すべてのイメージを循環しません

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

まだコードが更新されていません – Expecto

答えて

2

ここでは、基本的にあなたが

なり、この

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

をやっている、あなたの問題は、それらのすべてをgoPlay、あなたのサイクルで

だし、最後の1

で終了します

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

は、あなたがこの

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

よう

何か関数の外で変数iを定義する必要があるので、あなたがクリックするたびに、最後の画像が

を追加されるかは明らかでのご希望


アニメーションを自動的に(ボタンを押した後に)したい場合は...

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

これはうまくいくようですが、goPlay()ボタンでアニメーションのような画像を繰り返してもらいたいのですか?画像を一度にクリックするのではなく、クリックしてください。 – Emile

+0

はい、それはサイドショーのようにする必要があります - 自動的にサイクリング – Expecto

+0

*それは私がループでそれを持っていた理由です – Expecto

関連する問題