В приведенном ниже коде строка ...
if (event.type == SDL_QUIT)
... правильно оценивается как ИСТИНА, если гаджет закрытия был нажат в окне SDL. Я думаю, что я понимаю, как "event.type" происходит.
Несколько строк спустя ...
if (event.type == SDL_KEYDOWN) {
std::cout << event.key.keysym.sym << std::endl;
... обнаруживает нажатие клавиши и распечатывает нажатую клавишу.
Хотя я изучал документацию по началу SDL_Event на этой странице Мне не удалось определить правильную последовательность идентификаторов (event.key.keysym.sym) для извлечения фактического нажатия клавиши из«событие», пока я не нашел пример в другом месте в Интернете и просто украл его.
Как я должен был правильно получить это с доступными подсказками? Я на Windows 7 использую Visual C ++ 2019.
bool Screen::processEvents() {
SDL_Event event;
while (SDL_PollEvent(&event)) {
if (event.type == SDL_QUIT) {
return false;
}
if (event.type == SDL_KEYDOWN) {
std::cout << event.key.keysym.sym << std::endl;
return true;
}
}
return true;
}