停止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;

}

}

停止delta时间c#

我会把分钟和秒存储在一个小类中,给每个玩家一个类,当暂停时不要增加时间。看起来是这样的:

public class PlayerTime {
    public int seconds = 0;
    public int minutes = 0;
    public float myTimer = 3600;
}

然后在更新中,我只使用persons类变量。