停止delta时间c#
本文关键字:时间 delta 停止 | 更新日期: 2023-09-27 17:58:13
我试图在回合制游戏中同时显示3次。第一次是总时间倒计时。另外两个计时器显示每个玩家的倒计时时间。我还从另一个类中检查了一个布尔值,看看它是哪个回合(myplayerturn)
现在我可以有效地显示总时间和玩家时间,但当一个玩家的时间在运行时,我想暂停另一个玩家计时器。到目前为止,我的代码如下
public class countDown : MonoBehaviour {
public Text timerText;
public Text PlayerTime;
public Text OpponentTime;
public float myTimer = 3600;
// Use this for initialization
void Start () {
timerText = GetComponent<Text>();
PlayerTime = GetComponent<Text>();
OpponentTime = GetComponent<Text>();
}
// Update is called once per frame
void Update () {
if (GetComponent<differentclass>().myplayerturn)
{
//I'm gueussing this is where i need to pause OpponentTime;
// and start PlayerTime
}
else{
// pause PlayerTime
}
int minutes = Mathf.FloorToInt(myTimer / 60F);
int seconds = Mathf.FloorToInt(myTimer - minutes * 60);
string rTime = string.Format("{0:00}:{1:00}", minutes, seconds);
myTimer -= Time.deltaTime;
timerText.text = rTime;
PlayerTime.text = rTime;
OpponentTime.text = rTime;
}
}
我会把分钟和秒存储在一个小类中,给每个玩家一个类,当暂停时不要增加时间。看起来是这样的:
public class PlayerTime {
public int seconds = 0;
public int minutes = 0;
public float myTimer = 3600;
}
然后在更新中,我只使用persons类变量。