我有一个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 :(得分: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)
这是真的