SDL: SDL_WaitEvent исключения? - PullRequest
       8

SDL: SDL_WaitEvent исключения?

2 голосов
/ 20 декабря 2010

(я все еще нахожусь на том же треке, что и два последних вопроса, которые я задал, я просто не могу ответить на это в нужном месте!)

В любом случае, мой вопрос таков: как мнедобавить или разрешить SDL_WaitEvent регистрировать только определенные вещи?

Текущая программа, над которой я работаю, требует, чтобы пользователь дождался ввода своих данных, прежде чем вернуться обратно в игровой цикл.Теперь проблема с использованием PollEvent состоит в том, что я спам с кучей изображений и в настоящее время не могу ждать ввода.Проблема с WaitEvent заключается в том, что он ждет любого события.Мышь, клавиатура или что-то еще.

Как добавить исключения в WaitEvent?ИЛИ вы, ребята, знаете, как-нибудь подождать, пока пользователь введет данные?

Пожалуйста, будьте конкретны.

И если это поможет, вот мой "gameLoop".

void game::startLoop()
{
    while(QUIT == false)
    {
        getRoomUpdate();
        applySurface(-15, 280, zombie_lefthand, buffer);
        applySurface(455, 280, zombie_righthand, buffer);

        SDL_Flip(buffer);

        while(SDL_WaitEvent(&gameEvent)) //Exceptions!? Wait for input!?
        {
            switch(gameEvent.type)
            {
                case SDL_QUIT:
                QUIT = true;
                break;
            }
        }
    }
}

1 Ответ

4 голосов
/ 20 декабря 2010

Возможно, вам нужна функция SDL_EventState(). ужасная вики-документация может помочь вам быстрее освоиться.Основная идея заключается в том, что вы просто устанавливаете SDL_IGNORE или SDL_ENABLE в зависимости от того, хотите ли вы игнорировать или получать определенные события.

...