dxut中settimer的具体用法
如题,dxut中settimer到底怎么用?哪位大侠有过经验?麻烦贴点具体的例子和用法,尤其是怎么响应settimer
[解决办法]
在DXUTSettingsdlg.cpp里有个例子
HRESULT DXUTSetTimer(个参数为一个callback 函数,定义是这样的
LPDXUTCALLBACKTIMER pCallbackTimer,
FLOAT fTimeoutInSecs,
UINT * pnIDEvent,
void * pCallbackUserContext
);
第一
typedef void (CALLBACK *LPDXUTCALLBACKTIMER)( UINT idEvent, void* pUserContext );
第二个参数是个时间,第三个返回这个timer的id,最后一个让你可以传一个自己定义的指针,这样在callback函数的第二个参数void* pUserContext 中可以取到。
用法例子:
首先定义callback 函数
void WINAPI StaticOnModeChangeTimer( UINT nIDEvent, void* pUserContext )
{
//timer事件到达时的处理
}
然后在某个地方定义timer
UINT nIDEvent;
DXUTSetTimer( StaticOnModeChangeTimer, 1.0f, &m_nIDEvent, NULL);
就可以了