所以我一直在重建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.
}
}
我想知道是否有人知道为什么毫秒没有显示在计时器中,以及如何修复它。如果需要更多信息,请通知我。我可以粘贴整个功能。 :)
答案 0 :(得分:0)
dwTime = (dwLimitTime - dwTime) / 1000;
在这一行中,除法会从dwTime中截断毫秒数。
您可能希望dwTime以毫秒为单位,而不是秒。