问题描述
在我的记分板 UI 中,我有一个盒子,它只是一个图像,里面有 score_Entries 作为孩子。游戏中有 4 个孩子,每个玩家一个。当记分板启动时,我有一个函数可以分配 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 元素中的文本设置为等于玩家的姓名。但是,应该发生的情况是在 Debug 语句中 Player Name 行输出和数组输出中的 Text 应该向我显示存储在 test.NickName
中的字符串。说测试是玩家的名字。 playersNames[i].text should == test
目前它显示 playerNames[i] = TEST NAME
,这是我在创建 UI 时的默认文本。但是,在游戏中,玩家的名字正确显示为test而不是TEST NAME。
我不明白这是如何工作的,有人可以帮忙吗?
解决方法
问题是我++ 把 i++ 放在
Debug.Log("Text inside the array: " + playerNames[i].text);
Debug.Log("Player Name: " + test.NickName);
i++