2016-02-14 65 views
1

真的很简单的问题真的光子团结foreach循环

我如何得到这个循环显示所有球员,因为它只显示我的球员。你可以看到我尝试开始一个新行。

当我做samestatment除了playerlist我用otherlist它返回另一个球员,所以为什么心不是显示大家的球员名单: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); 
    } 
} 
+0

每次迭代您的foreach循环时,ScoreboardTxt.text都将被替换。因此PhotonNetwork.playerList中的最后一项将始终显示。 – jkerak

回答

3

也许你应该使用+=来连接所有玩家的数据。

ScoreboardTxt.text += "\r\nPlayerName: " + player.ToString(); 

没有+=ScoreboardTxt.text将只包含最后的玩家数据。

+0

谢谢soo现在我面临更大的问题forloop在文本中重复 – kyle789XBL

+0

实际上固定在标签上我擦拭文本文件 – kyle789XBL

0

你只显示最后一名玩家,而不是你的。 您应该添加到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); 
    } 
}