[前一页] 目录 [后一页]
调用SDL_GetTicks() 可以获得从过去某个时刻到现在所经过的毫秒。
#define TICK_INTERVAL 30 Uint32 TimeLeft(void) { static Uint32 next_time = 0; Uint32 now; now = SDL_GetTicks(); if ( next_time <= now ) { next_time = now+TICK_INTERVAL; return(0); } return(next_time-now); }
SDL_Delay() 可以实现毫秒级的等待。 由于SDL支持的操作系统是多任务的,所以无法保证你的程序能够等待非常确切的一段时间。 等待相关的函数更多的是用于程序空闲一段时间,而不是在一个很确切的时刻被唤醒。
SDL_Delay() 可以实现毫秒级的等待。
由于SDL支持的操作系统是多任务的,所以无法保证你的程序能够等待非常确切的一段时间。 等待相关的函数更多的是用于程序空闲一段时间,而不是在一个很确切的时刻被唤醒。
{ while ( game_running ) { UpdateGameState(); SDL_Delay(TimeLeft()); } }