繁体   English   中英

Unity3d Photon自定义房间属性用于制作倒数计时器

[英]Unity3d Photon custom room property problem for making countdown timer

我正在尝试使用自定义属性来增加我的游戏比赛的倒数计时器。 但是我被困在某个地方。 计时器正在运行,但与其他稍后加入的客户没有显示相同的时间。 我的脚本在这里:

public float Totaltime = 600;

void Update()
{
  Totaltime -= Time.deltaTime;
  StartCountDownTimer(Totaltime);
}

void StartCountDownTimer(float totalSeconds)
{
  Hashtable ht = new Hashtable() { { "startTime", totalSeconds } };
  PhotonNetwork.room.SetCustomProperties(ht);

  float updatedSecond = (float)PhotonNetwork.room.CustomProperties["startTime"];

  int minutes = Mathf.FloorToInt(updatedSecond / 60f);
  int seconds = Mathf.RoundToInt(updatedSecond % 60f);

  string formatedSeconds = seconds.ToString();

  if (seconds == 60)
  {
    seconds = 0;
    minutes += 1;
  }
}

代码逻辑存在问题。 您只应在主客户端上设置开始时间。 其他客户端读取开始时间并计算本地客户端中的剩余时间。 倒计时结束后,主客户端将发送RPC调用以通知其他客户端进行下一步。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM