Ни как не пойму, где косяк. Вот код:
while(!quit) {
int ticks;
ticks = SDL_GetTicks(); //Стартовое время
while(SDL_PollEvent(&event)) {
switch (event.type) {
case SDL_QUIT: {
quit = 1;
} break;
case SDL_MOUSEBUTTONDOWN: {
if (event.button.button == SDL_BUTTON_LEFT) {
map_open(event.button.x, event.button.y);
map_draw();
} else if (event.button.button == SDL_BUTTON_RIGHT) {
map_set_flag(event.button.x, event.button.y);
map_draw();
}
} break;
}
}
//(SDL_GetTicks() - ticks) - время потраченное на выполнение игрового цикла
if((SDL_GetTicks() - ticks) < 1000 / 30) { //если оно >1000/30 - значит все глючит
//делаем паузу равную 1/30 секунды минус затраченное время, чтобы, собственно, попадать в диапазон 1/30
SDL_Delay( ( 1000 / 30 ) - SDL_GetTicks() - ticks);
}
}
Оно не работает. Зависает и все, в чем проблема? Может я не правильно события обрабатываю?