現在、私は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イベントはイベントウィンドウに行けば、しかし、関数の代わりに呼ばれる前、この関数へのキューがすぐに代わりの終了:それはこのようになりますのために私の現在のコード次のキーボードが押されるまで待つ。私は、この関数を呼び出す前に、ウィンドウのイベントキューをクリアする方法を探してみましたが、それを行うことができるものは見つかりませんでした。