Мое приложение не может понять SDL_KEYDOWN

0

Я написал некоторые основные навигации внутри приложения, но затем он не работал, поэтому я уменьшил их до этого

void CSystem::controls()
{
switch (mainEvent->type)
{
case SDL_KEYDOWN:
    switch (mainEvent->key.keysym.sym)
    {
    case SDLK_a:
        cout << "JKANAJIDJAIJIHVUIRBYVHRU" << endl;
        break;
    }
    break;

case SDL_KEYUP:
    switch (mainEvent->key.keysym.sym)
    {
    case SDLK_a:
        cout << "removed A" << endl;
        break;
    }
    break;
}
}

Я видел проблему, но я не могу придумать какой-либо другой способ устранить эту проблему. Он читает мои события KeyUp, но не будет читать мои события KeyDown, я попытался скопировать этот код и вставить его в мою игру. работал.

Мой мозг схож с вопросом о том, в чем проблема, я проверил mainEvent, и это было просто обычным

SDL_Event* mainEvent = new SDL_CreateEvent();

Я не чувствую ничего плохого в этом... это ошибка или что-то еще? Я старался расчесывать все приложение только из-за этой незначительной неудачи.

  • 1
    Есть ли какая-то ошибка? Я не уверен, что ты спрашиваешь.
  • 1
    Добавьте значение по умолчанию в свои операторы switch: посмотрите, что еще приносят события и какие другие возможные значения вы получаете для sym.
Показать ещё 1 комментарий
Теги:
sdl-2

1 ответ

3

Вам нужно использовать SDL_PollEvent (mainEvent). Скажите, если это сработало :)

void CSystem::controls()
{
    while (SDL_PollEvent(mainEvent))
    {
    switch (mainEvent->type)
    {
    case SDL_KEYDOWN:
        switch (mainEvent->key.keysym.sym)
        {
        case SDLK_a:
            cout << "JKANAJIDJAIJIHVUIRBYVHRU" << endl;
            break;
        }
        break;

    case SDL_KEYUP:
        switch (mainEvent->key.keysym.sym)
        {
        case SDLK_a:
            cout << "removed A" << endl;
            break;
        }
        break;
    }
    }
}
  • 0
    Я уже делал это в своем игровом цикле еще до того, как опубликовал этот вопрос, и это не должно быть проблемой для опроса, так как он понял мое событие up
  • 0
    Код, который вы разместили, верен (по крайней мере, я не вижу ничего плохого), если вы говорите, что сначала опросите. Может быть, проблема в другой части кода ... Если вы напишите, я могу посмотреть и посмотреть, потому что я не вижу здесь никаких проблем.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню