@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;
}
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
pollEvent возвращает сообщение из очереди, пока они там есть. В очереди их может оказаться несколько. Именно поэтому там цикл while. А код за циклом обрабатывает только одно - последнее - сообщение. Судя по наблюдаемому вами поведению, в очереди оказывается несколько сообщений.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы