Автор Тема: проблемация с timer-ите в sdl  (Прочетена 1302 пъти)

dilyan_rusev

  • Напреднали
  • *****
  • Публикации: 61
    • Профил
проблемация с timer-ите в sdl
« -: Apr 06, 2007, 14:41 »
Ами няма какво толкова да се говори. Кодът е достатъчно красноречив, както и изходът на програмата:
Примерен код
Uint32 testCallback(Uint32 interval, void *param);
....
SDL_TimerID id = SDL_AddTimer(1000, testCallback, NULL);
   
SDL_Event e;
bool done = false;
while (!done) {
   while(SDL_PollEvent(&e)) {
       switch (e.type) {
             case SDL_KEYDOWN:
                    if (e.key.keysym.sym == SDLK_ESCAPE)
                          done = true;
                    break;
       }
   }
}
   
SDL_RemoveTimer(id);
...
Uint32 testCallback(Uint32 interval, void *param) {
     static int counter = 0;
     printf("Test timer callback\nInterval:\t%d\nTimes called:\t%i\n",
                interval, counter);
    counter++;
}


И сега идва голямата ебавка... изходът от програмата: htp://store3.data.bg/bloodrager/gluposti/blaaa

Това, което ме убива, е, че започва с 1000 и после какво и защо - не мога да разбера. Уж давам SDL_INIT_TIMER... не мога да разбера защо се получава така...


редакция:
ааа яко съм тъп........
та начи за тези, които също като мене биха забравили:
всеки callback трябва да връща новия интервал (или по-точно този, който иска). демек за да работи както трябва (да се извиква на всяка секунда) трябва да стане следното:
Примерен код
Uint32 testCallback(Uint32 interval, void *param) {
     static int counter = 0;
     printf("Test timer callback\nInterval:\t%d\nTimes called:\t%i\n",
                interval, counter);
    counter++;
    /* !!!!!!!!!!!!!!!!!!!!!!!!! */
    return interval;
    /* !!!!!!!!!!!!!!!!!!!!!!!!! */
}




Активен

Конфигурация:
Athlonx2 5600+, ECS A780GM-A, 4гб A-Data,  Philips 170x6-series монитор; Vista + openSUSE

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Въпросче за System timer
Настройка на програми
completer 3 2079 Последна публикация Jan 06, 2009, 22:29
от completer
Shutdown Timer
Настройка на програми
azaden 6 2594 Последна публикация Oct 08, 2010, 11:39
от radoshow
tickless kernel, 300 Hz timer
Хардуерни и софтуерни проблеми
lunarvalleys 0 1405 Последна публикация Oct 30, 2010, 21:05
от lunarvalleys
$ find / -idea First-Timer Tips -print
Идеи и мнения
p0p0v 10 3940 Последна публикация May 26, 2015, 17:42
от 4096bits
ПРЕМЕСТЕНО: $ find / -idea First-Timer Tips -print
Настройка на програми
neter 0 1418 Последна публикация May 24, 2015, 18:58
от neter