Sf::Event::Keypressed не работает внутри цикла событий опроса -SFML-2.5.1

#include <iostream>
#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include <SFML/System.hpp>

int main(){
    
    sf::RenderWindow window(sf::VideoMode(640, 480),  "Window");    

       while (window.isOpen())
        {
            sf::Event event;
            while (window.pollEvent(event))
            {
                switch (event.type)
                {
                    case sf::Event::Closed:
                        window.close(); break;
                    
                    case sf::Event::KeyPressed:
                        std::cout << event.key.code;
                        break;
                    
                }
            }
         }
 return 0;
}

Я получаю кучу подобных предупреждений enumeration value 'MouseLeft' not handled in switch

Я попытался поместить его в оператор if вместо switch, который избавился от предупреждений, но он все равно не выводит event.key.code я мог заставить его работать только тогда, когда я помещал его вне цикла pollevent(event), но тогда буквы не подбирались.

Этот фрагмент кода не помогает, потому что по сравнению с моим примером кода он должен работать. Пожалуйста, предоставьте воспроизводимый код.

no more sigsegv 18.12.2020 21:20

Сделайте правильный минимально воспроизводимый пример.

super 18.12.2020 22:06
Почему в Python есть оператор &quot;pass&quot;?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
2
160
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Добавьте << std::flush; после cout, и вы увидите коды клавиш. В противном случае они не будут напечатаны до тех пор, пока основной цикл SFML не будет покинут (не при прерывании, а при корректном закрытии с помощью кнопки x).

Другие вопросы по теме