[英]C# Variable not changing after Assignment, Change shows in UI
在我的記分牌 UI 中,我有一個框,它只是一個圖像,里面有 Score_Entries 作為孩子。 有 4 個孩子,游戲中每個玩家一個。 當記分板啟動時,我有一個 function 分配 Score_Entries Ui 元素內的文本。 為此,我有一個名為 Text[] playerNames 的數組,並且我的 UI 元素在檢查器中被拖入其中。
int i = 0;
foreach (Player test in PhotonNetwork.PlayerList)
{
playerNames[i].text = test.NickName;
allscores[i].text = 0.ToString();
i++;
Debug.Log("Text inside the array: " + playerNames[i].text);
Debug.Log("Player Name: " + test.NickName);
}
如您所見,我已將第一個 Text 元素中的文本設置為玩家的名稱。 但是,應該發生的是在調試語句中播放器名稱行 output 和數組 output 中的文本應該顯示存儲在test.NickName
中的字符串。 說測試是玩家的名字。 playersNames[i].text should == test
當前它顯示playerNames[i] = TEST NAME
這是我創建 UI 時的默認文本。 但是,在游戲中,玩家的姓名正確顯示為 test 而不是 TEST NAME。
我不明白這是如何工作的,有人可以幫忙嗎?
問題是 i++ 把 i++ 放在后面
Debug.Log("Text inside the array: " + playerNames[i].text);
Debug.Log("Player Name: " + test.NickName);
i++
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.