【问题标题】:Random Number Same on both Client and Server随机数在客户端和服务器上相同
【发布时间】:2016-04-22 03:59:01
【问题描述】:

我希望客户端和服务器上的随机数相同。 我正在使用 Random.Range(min,max)

但问题是它在服务器和客户端上给了我不同的随机数,这弄乱了我的游戏。

我已经为变量尝试了 [SyncVar],为方法尝试了 [ServerCallBack](它只返回一个随机数)

但两者都不起作用

有人可以帮忙吗?

代码:

[ServerCallback]
int NewRandom(int maxLimit)
{
    //if (this.transform.parent.GetComponent<NetPlayerCheck>().isPlayer1) {
    //if (Network.isServer) { 
    return Random.Range(0, maxLimit);
    //}
}

[SyncVar] int rand = newRandom(5);

【问题讨论】:

  • Man 显示一些代码,SyncVar 和 ServerCallBack 没有给我们任何东西
  • 如果 ServerCallBack 不工作,也许你必须先集中精力修复连接,我不知道...

标签: c# unity3d unity-networking


【解决方案1】:

如果服务器和客户端都随机数,当然它们会有所不同。如果两者需要相同,为什么不从服务器端获取随机数并传递给客户端?

【讨论】:

猜你喜欢
  • 2022-12-09
  • 2023-03-18
  • 2017-05-26
  • 1970-01-01
  • 2017-06-01
  • 1970-01-01
  • 2020-04-18
  • 2011-03-04
  • 2011-11-20
相关资源
最近更新 更多