C# Unity3D中记分板的排名和位置
我是一个新手,我陷入了这个问题。我可以记录球员的数据、分数和名字,但我不能让记分板正常工作。我花了两天的时间想弄明白,现在我问你们 我有前十名的记分牌,但我无法进入排名。分数越高,位置就越高 这是我的代码:C# Unity3D中记分板的排名和位置,c#,unity3d,C#,Unity3d,我是一个新手,我陷入了这个问题。我可以记录球员的数据、分数和名字,但我不能让记分板正常工作。我花了两天的时间想弄明白,现在我问你们 我有前十名的记分牌,但我无法进入排名。分数越高,位置就越高 这是我的代码: int PlayerCount = PlayerSystem.Players.Count; if(PlayerCount == 1) { Score[0].text = PlayerSystem.Players[0].Name + ": " + Player
int PlayerCount = PlayerSystem.Players.Count;
if(PlayerCount == 1)
{
Score[0].text = PlayerSystem.Players[0].Name + ": " + PlayerSystem.Players[0].Score.ToString();
}
if (PlayerCount == 2)
{
if(PlayerSystem.Players[0].Score > PlayerSystem.Players[1].Score)
{
Score[0].text = PlayerSystem.Players[0].Name + ": " + PlayerSystem.Players[0].Score.ToString();
Score[1].text = PlayerSystem.Players[1].Name + ": " + PlayerSystem.Players[1].Score.ToString();
}
else if(PlayerSystem.Players[1].Score > PlayerSystem.Players[0].Score)
{
Score[1].text = PlayerSystem.Players[0].Name + ": " + PlayerSystem.Players[0].Score.ToString();
Score[0].text = PlayerSystem.Players[1].Name + ": " + PlayerSystem.Players[1].Score.ToString();
}
}
我评论了200多行代码,因为它不起作用。但我希望你能明白。如果你读了我的帖子,谢谢你。如果你能帮我做这件事,我真的很感激。谢谢。首先对球员得分进行排序
using System.Linq;
....
List<Player> Players = PlayerSystem.Players.OrderByDescending(p=>p.Score).ToList();
使用System.Linq;
....
List Players=PlayerSystem.Players.OrderByDescending(p=>p.Score.ToList();
然后将循环中的分数分配给GUI
for(int i=0; i<10; ++i)
{
var player = PlayerSystem.Players[i];
Score[i].text = player.Name + ": " + player.Score;
}
for(int i=0;i首先对球员得分排序
using System.Linq;
....
List<Player> Players = PlayerSystem.Players.OrderByDescending(p=>p.Score).ToList();
使用System.Linq;
....
List Players=PlayerSystem.Players.OrderByDescending(p=>p.Score.ToList();
然后将循环中的分数分配给GUI
for(int i=0; i<10; ++i)
{
var player = PlayerSystem.Players[i];
Score[i].text = player.Name + ": " + player.Score;
}
for(int i=0;iI获取错误:ArgumentNullException:参数不能为null。参数名称:Source我想我应该提供更多详细信息:公共类PlayerSystem:NetworkedMonoBehavior{…公共静态列表Players=PlayerSystem.Players.OrderByDescending(p=>p.Score.ToList();…}公共类UserUI:MonoBehavior{void Update(){int PlayerCount=PlayerSystem.Players.Count;for(int i=0;iPlayerSystem.Players
为空。我得到一个错误:ArgumentNullException:参数不能为空。参数名称:Source我想我应该提供更多详细信息:公共类PlayerSystem:NetworkedMonoBehavior{…公共静态列表Players=PlayerSystem.Players.OrderByDescending(p=>p.Score).ToList();…}公共类UserUI:monobhavior{void Update(){int PlayerCount=PlayerSystem.Players.Count;for(int i=0;iPlayerSystem.Players
为空。