Джойстик Sdl2 не фиксирует «нажатое событие»

У меня есть приложение, которое работает на SDL (простой уровень directmedia). Я перенес его на SDL2. Но после портирования джойстик (SDL_PollEvent) только фиксирует событие отпускания кнопки джойстика.
Что-то не так или есть какие-либо настройки для захвата событий пресса в SDL2?

1

Решение

У меня также есть цикл и заявление swich. Я мог получить только события выпуска кнопки джойстика этим циклом.

Я нашел ответ несколько секунд назад. Если я вызываю SDL_SetHint (SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, «1») перед оператором SDL_Init, кнопка джойстика получает события нажатия и отпускания, в противном случае опрос не может захватить событие нажатия.

3

Другие решения

Вы можете достичь этого с помощью оператора switch, например:

while( SDL_PollEvent( &event ) )
{
switch( event.type )
{
case SDL_KEYDOWN:
printf( "Key pressed" );
break;

default:
break;
}
}

Я не вижу, чтобы что-то изменилось, в частности, по этому поводу.

Также не имеет смысла удалять эту функцию, поэтому я предполагаю, что вы делаете что-то не так.

0

По вопросам рекламы [email protected]