Задать вопрос
@a1nsworth

Почему не считывает все нажатия вне event loop SFML?

Суть в том, что в цикле считываются все нажатые клавиши, а вот вне цикла лишь некоторые, с чем это связанно ?

void Game::updateEvents()
{
	sf::Event ev;
	while (_window->pollEvent(ev))
	{
		if (ev.type == sf::Event::Closed)
		{
			_window->close();
		}
	}

	if (ev.type == sf::Event::KeyPressed) std::cout << ev.key.code;
}
  • Вопрос задан
  • 105 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Stepik
    Внутреннее устройство контейнеров в STL (C++)
    2 недели
    Далее
  • Skillbox
    Разработчик на C++
    7 месяцев
    Далее
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
pollEvent возвращает сообщение из очереди, пока они там есть. В очереди их может оказаться несколько. Именно поэтому там цикл while. А код за циклом обрабатывает только одно - последнее - сообщение. Судя по наблюдаемому вами поведению, в очереди оказывается несколько сообщений.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы