2016-09-17 48 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

您可能想要爲任何數字不等於零的添加檢查。 –