用自定义时间创建游戏时钟

时间:2016-02-12 09:36:44

标签: c# unity3d timer clock

我试图让GameClock像真正的时钟,但有自定义的时间。 时钟正在运行,但它正在延迟,我无法找到问题。谢谢你的帮助。

IEnumerator Start()
{
    while (true) {
        Sec = DateTime.Now.Second;
        if (Hour == 23 && Min == 59 && Sec == 0){
            Hour = 0;
            Min = 0;
        } else if (Min == 59 && Sec == 0){
            Min = 0;
            Hour += 1;
        } else if (Sec == 0) {
            Min += 1;
        } 
        yield return new WaitForSeconds (1f);
    }
}

2 个答案:

答案 0 :(得分:2)

我认为它应该像

while (true) {
    Sec = DateTime.Now.Second;
    if (Hour == 23 && Min == 59 && Sec == 59){
        Hour = 0;
        Min = 0;
    } else if (Min == 59 && Sec == 59){
        Min = 0;
        Hour += 1;
    } else if (Sec == 59) {
        Min += 1;
    } 
    yield return new WaitForSeconds (1f);
}

答案 1 :(得分:1)

当你可以轻松打印出来时,我不明白你为什么要做这些工作:

    Debug.Log(System.DateTime.Now.ToString("hh:mm:ss"));
    Debug.Log(System.DateTime.Now.Hour.ToString());
    Debug.Log(System.DateTime.Now.Minute.ToString());
    Debug.Log(System.DateTime.Now.Second.ToString());