如何显示每个玩家的分数【网管】

How to display each player's score [Network Manager]

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

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

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

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

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

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