首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单光子定时器同步

单光子定时器同步
EN

Stack Overflow用户
提问于 2020-04-21 22:07:22
回答 1查看 935关注 0票数 1

我使用团结光子进行团队合作多人游戏。

我有两个团队A和B。在地图上也有一个区域,如果你进入它(只有一个队),计时器从10秒减少,当值为0时,会发生一个特定的动作。此区域通过OnTriggerStay工作。我对此有困难:当一名球员进入这个区域时,一切正常,定时器以正常速度从10秒降到0秒,但是,当来自同一队的另一名球员进来时,计时器的速度是的两倍。我需要一个普通的多人倒计时计时器,为这个区域,而不是x2多秒。

代码语言:javascript
复制
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();
         }
 }

请帮助我避免乘以秒的计时器,如果有两个队友在区域内。thx

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-21 23:06:39

我这样做的方法是让一些int存储您所在区域的玩家数量,并检查那里是否至少有一个玩家(您可以使用OnTriggerEnter()OnTriggerExit()来增加/减少计数。

然后在Update()方法中,如果区域内的玩家数量大于0,则减少计时器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61354081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档