2015-05-27 50 views
1

我有一個ActionScript音樂播放器,它從XML文件中提取歌曲。我有一個播放按鈕和一個下一個按鈕。我有4首歌曲,但是當我按下下一個按鈕直到最後一首歌曲正在播放時,下一次按下一首歌曲時,它不會回到第一首歌曲。動作腳本下一步按鈕重播

這裏是下一個按鈕代碼:

//Next Song Functions 
function nextSong(e:Event):void { 
     if (currentIndex < (songlist.length() +1)) {//Next Song(+1) 
       currentIndex++; 
     } else { 
       currentIndex=0; 
     } 
     //New Request for Next Song 
     var nextSongFunc:URLRequest=new URLRequest(songlist[currentIndex].file); 
     var nextTitle:Sound=new Sound(nextSongFunc); 
     sc.stop(); 
     MusicName.text=songlist[currentIndex].name;//Writing New Song's name 
     sc=nextTitle.play(); 
     currentSound=nextTitle; 
     sc.addEventListener(Ev9ent.SOUND_COMPLETE, nextSong); 
} 

,我應該怎麼改變,所以當我按下旁邊並沒有一個音樂,它進入的第一個?

+0

我的解決方案是否解決您的問題? – BadFeelingAboutThis

回答

0

所有你需要做的是改變+1到-1的if語句:

function nextSong(e:Event):void { 
    if (currentIndex < songlist.length() -1) { 
      currentIndex++; 
    } else { 
      currentIndex=0; 
    } 

所以,如果songList.legnth是5,currentIndex是4(在從零開始的索引系統會使其成爲最後一個項目),那麼你會希望它回到0nextSong,所以你想if語句失敗。用實際值替換變量爲一個視覺例子,你會想做if(4 < 5 - 1) - 這是假的,而不是if(4 < 5 + 1)這將是真的