光子统一 foreach 循环
photon unity foreach loop
真的很简单的问题
我如何让这个循环显示所有玩家,因为它只显示我的玩家。
如您所见,我尝试开始新的一行。
当我做同样的声明时,除了玩家列表我使用其他列表 returns 另一个玩家所以为什么玩家列表不显示每个人 :S
void openCloseScore()
{
if (Input.GetKey (KeyCode.Tab))
{
ScoreBoard.SetActive (true);
foreach(PhotonPlayer player in PhotonNetwork.playerList)
{
ScoreboardTxt.text = "\r\nPlayerName: " + player.ToString();
}
}
else
{
ScoreBoard.SetActive(false);
}
}
也许你应该使用 +=
来连接所有玩家的数据。
ScoreboardTxt.text += "\r\nPlayerName: " + player.ToString();
没有 +=
ScoreboardTxt.text
将只包含关于最后一个玩家的数据。
您只显示了最后一位玩家,而不是您自己的。
您应该添加到文本 属性,而不是重新填充它。
void openCloseScore(){
if (Input.GetKey (KeyCode.Tab)) {
ScoreBoard.SetActive (true);
foreach(PhotonPlayer player in PhotonNetwork.playerList) {
// ... change next line ...
ScoreboardTxt.text += "\r\nPlayerName: " + player.ToString(); // <------- change = to += in this line
}
} else {
ScoreBoard.SetActive (false);
}
}
真的很简单的问题
我如何让这个循环显示所有玩家,因为它只显示我的玩家。 如您所见,我尝试开始新的一行。
当我做同样的声明时,除了玩家列表我使用其他列表 returns 另一个玩家所以为什么玩家列表不显示每个人 :S
void openCloseScore()
{
if (Input.GetKey (KeyCode.Tab))
{
ScoreBoard.SetActive (true);
foreach(PhotonPlayer player in PhotonNetwork.playerList)
{
ScoreboardTxt.text = "\r\nPlayerName: " + player.ToString();
}
}
else
{
ScoreBoard.SetActive(false);
}
}
也许你应该使用 +=
来连接所有玩家的数据。
ScoreboardTxt.text += "\r\nPlayerName: " + player.ToString();
没有 +=
ScoreboardTxt.text
将只包含关于最后一个玩家的数据。
您只显示了最后一位玩家,而不是您自己的。 您应该添加到文本 属性,而不是重新填充它。
void openCloseScore(){
if (Input.GetKey (KeyCode.Tab)) {
ScoreBoard.SetActive (true);
foreach(PhotonPlayer player in PhotonNetwork.playerList) {
// ... change next line ...
ScoreboardTxt.text += "\r\nPlayerName: " + player.ToString(); // <------- change = to += in this line
}
} else {
ScoreBoard.SetActive (false);
}
}