上一頁 | 首頁

SDL_SetTimer

章節:SDL API 參考 (3)
更新2001年9月11日 星期二 23:01
索引
 

名稱

SDL_SetTimer - 設置一個經過指定毫秒數後運行的回調函數。  

摘要

#include "SDL.h"

int SDL_SetTimer(Uint32 interval, SDL_TimerCallback callback);  

回調函數

/* 計時器回調函數的原型 */ typedef Uint32 (*SDL_TimerCallback)(Uint32 interval);  

描述

設置一個經過指定毫秒數後運行的回調函數。回調函數接受當前計時器的時間間隔,並返回下一計時器的時間間隔。若返回值與所傳遞的值一樣,則週期警報會繼續。否則安排一個新的報警器。

可以通過調用SDL_SetTimer(0, NULL);來退出當前運行的計時器。

計時器回調函數可以在不同于主程序的線程中運行。因此,不應該在它之內調用任何函數。

此計時器的最大分辨率為10毫秒。這意味著,在一個未加載的系統,如果你請求一個16毫秒的計時器,你的回調函數將會返回大約20毫秒。如果你想設置一個每秒30幀(每33毫秒)的更新標志,你應當設置一個30毫秒的計時器(參見以下的例子)。

如果你要使用這個函數,你得將SDL_INIT_TIMER傳遞給SDL_Init

備注:

雖然這個函數保持兼容性,但已經被支持多個計時器的新計時器函數SDL_AddTimerSDL_RemoveTimer代替。

 

例子

SDL_SetTimer((33/10)*10, my_callback);

 

另見

SDL_AddTimer  

譯者

石仔<guoshimin57@gmail.com>  

中文版主頁

http://guoshimin.users.sf.net  

中文版最後更新時間

2010年6月22日


 

索引

名稱
摘要
回調函數
描述
例子
另見
譯者
中文版主頁
中文版最後更新時間