我需要跟踪时间间隔并在每次间隔过去时调用一个函数。我已经查阅了 SDL 的文档SDL_AddTimer
,但 gcc 抱怨我做错了。
那么,我怎样才能定期间隔,或者我该如何使用AddTimer
?
AddTimer
我不清楚 SDL 文档中的示例。gcc 告诉我,我的回调函数中缺少参数,并且我的计时器在范围内不存在(但我不知道要声明什么)。这是我糟糕的尝试:
SDL_AddTimer(3000,changeMusic,NULL);
Uint32 changeMusic(Uint32 interval, void *param){...
我想也许如果经过的时间可以被 3 秒整除,那么函数就会运行,但这最终会以不稳定的频率激活。
if(interval.getTicks()%3000==0){
changeMusic();
}
或者,如果倒计时为零,请将其重置并调用一个函数,但我不知道如何制作一个倒计时的计时器。
//something like this
cdTimer=(3000 to 0)
if(cdTimer==0){
cdTimer=(3000 to 0);
changeMusic();
}