Tarkoitus olisi tehdä C++/SDL -yhdistelmällä sellainen simulaattori, jossa tarvitsee tehdä jotain tietyn ajan välein (monta samaan aikaan, eri ajoilla).
Esim. Jos mulla on vaikka kolme lukua siinä ikkunassa, niin yksi pitäisi saada suurennettua yhdellä 0.5 sekunnin välein, yksi 1 sekunnin välein ja yksi 1.5 sekunnin välein.
JavaScriptillä tämä onnistuu SetTimeout-funktiolla, johon annetaan parametreina funktio, ja aika jonka päästä sitä kutsutaan. Näitä voi siis olla vaikka kuinka monta kerralla päällä, eikä se vaikuta muihin.
EDIT: Tuli muuten väärälle alueelle :(
SDL kirjoitti:
typedef Uint32 (*SDL_NewTimerCallback)(Uint32 interval, void *param); SDL_TimerID SDL_AddTimer (Uint32 interval, SDL_NewTimerCallback callback, void *param); SDL_bool SDL_RemoveTimer (SDL_TimerID id);
Eli käytännössä suunnilleen näin:
SDL_TimerID ajastin; int loppu = 0; Uint32 funktio(Uint32 interval, void *param) { printf("Aika.\n"); loppu = 1; SDL_RemoveTimer(ajastin); } // main... ajastin = SDL_AddTimer(2000, funktio, NULL); while (!loppu) { printf("Odotetaan...\n"); SDL_Delay(100); SDL_PumpEvents(); }
Aihe on jo aika vanha, joten et voi enää vastata siihen.