无法让widget显示毫秒数

时间:2015-02-20 00:20:39

标签: c++ time widget

所以我一直在重建Maiet为gunz制作的游戏模式,称为spymode。我完成了大部分内部工作,但是我遇到了时间显示小部件的问题。我需要它以分钟,秒和毫秒显示时间(使用int,而不是float)。分钟&秒可正常工作,但毫秒小部件始终为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.
                    }
                }           

我想知道是否有人知道为什么毫秒没有显示在计时器中,以及如何修复它。如果需要更多信息,请通知我。我可以粘贴整个功能。 :)

1 个答案:

答案 0 :(得分:0)

dwTime = (dwLimitTime - dwTime) / 1000;

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

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