Очевидно, что pollEvent делает небольшую паузу, когда я непрерывно нажимаю клавишу,
Например, если нажатие не отпускает клавишу, это вызывает событие прессы, НО ТО делает небольшую паузу0,5 с, и только после этого он начинает непрерывно вызывать событие нажатия. Проще говоря, если я просто нажму клавишу и не отпущу ее, она выдаст мне такой вывод:
нажмите A
пауза
нажмите A
нажмите A
нажмите A
нажмите A
.,.
Это довольно проблематично для моей игры.мой цикл pollEvent:
std::map<_KEYS, bool> Display::checkEvents()
{
resetEvents();
while (_Window.pollEvent(_Event))
{
if (_Event.type == sf::Event::Closed)
quit();
if (_Event.type == sf::Event::KeyPressed) {
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up)) {
puts("key up pressed");
_Events.at(_KEY_UP) = true;
}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down)) {
puts("key down pressed");
_Events.at(_KEY_DOWN) = true;
}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left)) {
puts("key left pressed");
_Events.at(_KEY_LEFT ) = true;
}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) {
puts("key right pressed");
_Events.at(_KEY_RIGHT) = true;
}
}
return (_Events);
}
Есть идеи почему?или как я могу решить эту проблему?
PS: не обращайте внимания на мою карту событий, я думаю, что она действительно далека от паузы