[英]Unity Photon timer synchronization
我正在使用 Unity Photon 进行团队合作多人游戏。
我有 2 个团队 A 和 B。map 上还有一个区域,如果你进入它(只对一个团队),那么计时器从 10 秒开始减少,当值为 0 时,会发生某种动作。 该区域通过 OnTriggerStay 工作。 我对此有困难:当一名球员进入该区域时,一切正常,计时器以正常速度从 10 秒趋于 0,但是,当同一队的另一名球员进来时,计时器的速度会加快两倍。 对于这个区域,我需要一个普通的多人倒数计时器,而不是 x2 多秒。
private double _timeToNewScore = 10f;
private double _time;
private bool hasCapturedOne
private List <Health> team1players;
private void OnTriggerStay(Collider other)
{
if (hasCapturedOne)
{
foreach (Health p in team1players)
{
ScorePointsFromPeriod(1);
}
}
}
private void ScorePointsFromPeriod(int team)
{
_time += Time.deltaTime;
if (_time >= _timeToNewScore)
{
DoSomething();
}
}
如果区域中有 2 个队友,请帮助我避免在计时器中增加秒数。 谢谢
我这样做的方法是使用一些int
来存储您所在地区的玩家数量,并检查那里是否至少有一个玩家(您可以使用OnTriggerEnter()
和OnTriggerExit()
来增加/减少您的计数。
然后在Update()
方法中,如果您所在区域的玩家数量大于 0,则减少您的计时器
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.