簡體   English   中英

C# 變量在賦值后未更改,更改顯示在 UI 中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM