2
目前我正在尝试创建一个函数,其行为像getch()
(暂停,直到一个键是它)只使用sfml库。需要注意的是,预计这将在事件循环之外被调用。我试着寻找类似的东西,但我没有找到任何东西。我现在它的代码如下所示:在sfml中是否有相当于getch的?
int waitForKeyboardHit (sf::Window *win) {
sf::Event event;
while (true) {
while (win->pollEvent (event)) {
if (event.type == sf::Event::KeyPressed) {
return event.key.code;
}
}
}
return -1;
}
,而正常工作在大多数情况下,但是,如果任何的keyPressed事件的前此功能的事件窗口排队去被调用,而不是函数立即结束,而不是等到下一个键盘按下。我试图寻找方法来清除窗口的事件队列之前调用这个函数,但我还没有找到任何可以做到这一点。