@xverizex

SDL_WaitEvent плохо работает. Что я делаю не так?

int global = 0;

static int thread_menu ( void *data ) {
        SDL_Event event;
        while ( !global ) {
                SDL_WaitEvent ( &event );
                switch ( event.type ) {
                        case SDL_MOUSEBUTTONDOWN:
                                break;
                        case SDL_MOUSEBUTTONUP:
                                {
                                        int x = event.button.x;
                                        int y = event.button.y;
                                        y = cf.screen_height - y;
                                        scene_event_click ( sc, x, y );
                                        SDL_PushEvent ( &event );
                                }
                                break;
                        case SDL_MOUSEMOTION:
                                {
                                        int x = event.motion.x;
                                        int y = event.motion.y;
                                        y = cf.screen_height - y;
                                        scene_event_over ( sc, x, y );
                                        SDL_PushEvent ( &event );
                                }
                                break;
                        default:
                                break;
                }
        }
        return 0;
}

кликаю по кнопке, а событие клика приходит редко, но почему? я не думал что будет такая проблема, уже столько кода написал.
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ответы на вопрос 1
syxme
@syxme
Используйте SDL_PollEvent вместо SDL_WaitEvent и лучше всего сделать ограничение framerate 16мс должно хватить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы