【问题标题】:Having trouble getting widget to display milliseconds无法让小部件显示毫秒
【发布时间】:2015-02-20 00:20:39
【问题描述】:

所以我一直在重新创建 Maiet 为 gunz 制作的游戏模式,称为间谍模式。我已经完成了大部分内部工作,但我在使用时间显示小部件时遇到了问题。我需要它以分钟、秒和毫秒显示时间(使用 int,而不是 float)。 Minutes & Seconds 工作正常,但毫秒小部件始终为 0。代码如下:

DWORD dwLimitTime = ZGetGameClient()->GetMatchStageSetting()->GetStageSetting()->nLimitTime;//Gets the TimeLimit for the map
                if (dwLimitTime != 99999) //if not unlimited time
                {
                    dwLimitTime *= 60000;
                    if (dwTime <= dwLimitTime) //dwTime gets time remaining
                    {
                        dwTime = (dwLimitTime - dwTime) / 1000;

                        sprintf(szBuffer, "%02d,%02d,%02d", (dwTime / 60), (dwTime % 60), (dwTime % 60) / 1000); //Minutes, Seconds, Milliseconds
                        pBmNumLabel->SetText(szBuffer);//just a char
                        pBmNumLabel->GetBoundsAlignment(); // Gets X/Y coordinates from xml
                        dwLastSpyUpdate = timeGetTime() + 500; //dwLastSpyUpdate is just a generic unsigned long.
                    }
                }           

我想知道是否有人知道为什么毫秒没有显示在计时器中,以及我该如何解决它。如果需要更多信息,请告诉我,我可以粘贴整个函数。 :)

【问题讨论】:

    标签: c++ time widget


    【解决方案1】:
    dwTime = (dwLimitTime - dwTime) / 1000;
    

    在这一行中,除法从 dwTime 中截断毫秒。

    您可能希望 dwTime 以毫秒为单位,而不是秒。

    【讨论】:

    • Ty,忘了整数会截断小于 1 的任何内容。它现在可以工作了。 :)
    猜你喜欢
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    • 2011-03-06
    • 2014-12-07
    • 2012-06-08
    • 1970-01-01
    • 2015-10-22
    相关资源
    最近更新 更多