C++의 많은 멀티미디어 라이브러리에는 키보드 상태를 감지하는 기능이 있습니다. 그러나 이러한 기능은 키가 보유되어 있는지 감지하고 상수 신호를 전송하기 때문에 결함이 있습니다. 이 기능을 켜고 신호를 한 펄스 보내려면 키를 누른 경우에만 누르고, 누른 후에는 신호를 보내고 싶습니다.라이브러리의 "isKeyPressed"기능을 "keyPressedOnce"로 바꾸시겠습니까?
내가 (의사의)이 같은 짓을 : 그것이 작동하는 경우에도 "하면서"루프가 작동하는 동안, 다른 키를 테스트하는 것은 불가능하기 때문이 아니라 효과가
while isKeyPressed { if not isKeyPressed (exit_loop) }
및 또한 키가 유지되는 시간에 대한 프로그램을 지연시킵니다.
누구나 더 나은 옵션을 생각할 수 있습니까?
(필자는 SFML의 기능 sf::Keyboard::isKeyPressed()
을 사용했습니다).
프로그램에 단일 폴링 루프가 있고 이전 키 상태와 함께 클래스 안에 래핑하십시오. 콜백을 등록하도록 할 수 있습니다 ... – LogicStuff
어떻게하면 더 정확하게 할 수 있습니까? – KKZiomek