动作脚本下一步按钮重播

时间:2015-05-27 15:26:15

标签: actionscript-3 flash button

我有一个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);
}

我应该改变什么,所以当我按下一个并且没有下一首音乐时,它会转到第一个?

1 个答案:

答案 0 :(得分:0)

您需要做的就是在if语句中将+1更改为-1:

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

因此,如果songList.legnth为5,并且currentIndex为4(在基于零的索引系统中将其作为最后一项),那么您将希望它返回{{1在0上,所以你想要if语句失败。用可视化示例的实际值替换变量,您可能希望nextSong - 这是假的,而不是if(4 < 5 - 1)这是真的