|
|
这是游戏循环体中的代码
static float lastTime = (float)timeGetTime();
while(msg.message != WM_QUIT)
{
if(: eekMessage(&msg, 0, 0, 0, PM_REMOVE))
{
::TranslateMessage(&msg);
: ispatchMessage(&msg);
}
else
{
//static ofstream L("l.txt");
float currTime = (float)timeGetTime();
float timeDelta = (currTime - lastTime);
if(timeDelta<0.0f)timeDelta=-timeDelta;
timeDelta *=0.001f;
//L<<timeDelta<<endl;
ptr_display(timeDelta);
lastTime = currTime;
}
有时候timeDelta变成负数了,如果ptr_display(timeDelta)里面绘制的东西不多的话。为什么?是double转float造成的还是内存越界访问了?
|
|