c# - C# 变量在赋值后没有改变,改变显示在 UI 中
问题描述
在我的记分牌 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++ 把 i++ 放在后面
Debug.Log("Text inside the array: " + playerNames[i].text);
Debug.Log("Player Name: " + test.NickName);
i++
推荐阅读
- python - 如何在 lxml 的表中传递样式属性
- python - 如何根据内部列表对python中的列表进行排序?
- php - 时间到后jQuery发送数据AJAX
- android - 如何抑制 Android D8 构建警告
- sql-server - SQL 代理作业(Transact-SQL 脚本类型)在哪个用户上下文中运行?
- ruby - ruby irb 向上箭头不起作用 - 给出奇怪的字符,例如 ^[[A
- r - 在 scatter3d 中显示点标签
- mysql - Mysql将表1中的同一列作为外键引用到表2中的两列
- c++ - Windows Embedded Compact (Windows CE) 程序的事后分析
- c# - 如何以较小的批量运行大量任务?