无法让小部件显示毫秒
Having trouble getting widget to display milliseconds
所以我一直在重新创建 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.
}
}
我想知道是否有人知道为什么计时器中没有显示毫秒数,以及我该如何修复它。如果需要更多信息,请告诉我,我可以粘贴整个函数。 :)
dwTime = (dwLimitTime - dwTime) / 1000;
在这一行中,除法从 dwTime 中截断了毫秒数。
您可能希望 dwTime 以毫秒为单位,而不是秒。
所以我一直在重新创建 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.
}
}
我想知道是否有人知道为什么计时器中没有显示毫秒数,以及我该如何修复它。如果需要更多信息,请告诉我,我可以粘贴整个函数。 :)
dwTime = (dwLimitTime - dwTime) / 1000;
在这一行中,除法从 dwTime 中截断了毫秒数。
您可能希望 dwTime 以毫秒为单位,而不是秒。