2016-09-17 55 views
1

我正在尝试在我的项目中选择一首歌曲。每次你点击游戏中的一个按钮,就会发送int到这个函数。有没有更好的方法来构造这些代码,所以我不必为每首歌曲编写IF语句?歌曲采摘系统

public void SongPick(int song) 
{ 
    if (song == 0) 
    { 
     audioSource.clip = musicArray[0];  
    } 
    if (song == 1) 
    { 
     audioSource.clip = musicArray[1]; 
    } 
    if (song == 2) 
    { 
     audioSource.clip = musicArray[2]; 
    } 

    audioSource.Play(); 
    string currentMusic = musicArray[song].name; 
    songName.text = "PLAYING: " + currentMusic; 
} 
+1

''audioSource.clip = musicArray [歌曲]''?显然你必须在int之前检查int是否等于0且小于数组的长度。 –

回答

0

假设song总是引用正确的指数musicArray你绝对不需要if语句不断增长。

public void SongPick(int song) { 
    if (song < musicArray.length) { 
     audioSource.clip = musicArray[song];  
    }  
    audioSource.Play(); 
    string currentMusic = musicArray[song].name; 
    songName.text = "PLAYING: " + currentMusic; 
} 
+1

您可能想要为任何数字不等于零的添加检查。 –