在Unity 4.6中嘗試新的uGUI,編寫按鈕腳本...遍歷一個目錄併爲每個文件創建一個按鈕... AddListener位中f.Name的值應該爲每個按鈕獨立設置。相反,每個按鈕都具有要處理的最後一個f.Name的值(目錄中按字母順序排列的最後一個文件)。有任何想法嗎?Unity 4.6,如何阻止共享偵聽器的克隆?
foreach (FileInfo f in fileInfo) {
Button btnCurrLvl = (Button) Instantiate(btnLvl);
btnCurrLvl.GetComponentInChildren<Text>().text = f.Name.Remove(f.Name.Length-5);
Debug.Log(f.Name); // f.Name is different every time
btnCurrLvl.name = f.Name; // renaming the btns works
btnCurrLvl.GetComponent<Button>().onClick.AddListener(() => LoadLocalLvl(f.Name)); // all the listeners on all created buttons are set to the last value of f.Name!?
}
普萊斯使用unity3d這樣的問題。 – 2014-09-13 03:21:14