У меня небольшая проблема с SDL:
При запуске моей Программы (в Archlinux 64bit) SDL_event выдает мне некоторые события SDL_KEYDOWN. Раздражает то, что моя программа закрывается при нажатии ESCAPE.
Вот код:
void Input::update() {
[...]
while(SDL_PollEvent(event)) {
if (event != NULL) {
handleInput();
}
}
// SDL_PumpEvents(); Commented out, because of jrok's suggestion.
SDL_GetMouseState(&mousex, &mousey);
}
И
void Input::handleInput() {
switch(event->type) {
case SDL_KEYDOWN:
setKey(event->key, true);
break;
case SDL_KEYUP:
setKey(event->key, false);
break;
case SDL_QUIT:
setQuit();
break;
default:
break;
}
}
setKey () устанавливает элемент массива bool в указанное значение (true / false).
Кроме того, это не только клавиша Escape. Часто нажимаются и другие клавиши.