如何显示每位玩家的分数[网络管理员]

时间:2018-01-08 22:33:18

标签: unity3d unity5 networkmanager unity-ui

我正在开发基于内置网络管理器的简单多人游戏(目前为止2人)游戏(基于这个很棒的教程https://unity3d.com/learn/tutorials/s/multiplayer-networking),我完全不知道如何解决我的问题。我发现的关于评分系统的每个教程都专注于本地多人游戏(不使用网络管理器)。

我的问题是: 如果我将玩家的得分存储在玩家预制件的实例(作为一个字段)中,如何在每个玩家的UI上以[Player1Score:Player2Score]的格式显示两个玩家得分。 我想以任何方式显示分数,作为单独或附加的字符串(UI文本)。

欢迎任何帮助和想法! 干杯!

2 个答案:

答案 0 :(得分:0)

基本上,据我所知,你首先需要一个控制器(服务器端)来保持分数。 然后通过Syncvar和RPC,您可以将所需的分数传播给客户端。 您可以根据自己的选择使用逻辑,例如,您可以在每次得分时使用委托(这取决于您的游戏),并同步变量。

https://docs.unity3d.com/Manual/UNetActions.html

答案 1 :(得分:0)

我不知道你的情况是什么?但是我可以建议使用 Socket 在客户端和服务器之间传输数据吗?从那里可以向对手显示每一方的分数。 通过https://docs.microsoft.com/en-us/dotnet/api/system.net.sockets.socket?view=net-5.0