私はSDLについての入門書コードを読んでいますと、このようなサンプルコードがあります:SDL_PollEventの機能は何ですか?
void Game::handleEvents()
{
SDL_Event event;
if (SDL_PollEvent(&event))
{
switch (event.type)
{
case SDL_QUIT:
m_bRunning = false;
break;
default:
break;
}
}
}
私は、これはイベントキューに見て、何があるかどうか、に、実行それを取り出すことを理解switch文。このコードを追加する前に、ウィンドウは表示されましたが、ドラッグ、ドロップ、クローズ、またはウィンドウのサイズ変更はできません。このコードを追加したので、私は期待していたウィンドウを閉じることができます。私が期待していなかったことは、ウィンドウをドラッグアンドドロップできることでした。
私はこれは私が将来的にはswitch文に含める必要があります別のイベントになるだろうと思いました。なぜドラッグアンドドロップも機能しましたか?そのSDL_PollEvent(私はswitch文にコメントしたが、 'if'を残して、まだドラッグできました)が、なぜですか?また、ドラッグ&ドロップだけが自動的に機能するのはなぜですか?なぜサイズを変更しないのですか?
それはwhile'、ない '' if'でなければなりません。しかし、はい、ほぼすべてのケースであなたは、プラットフォーム固有のメッセージに応答しなければならないか、ウィンドウシステムを更新したり、その信号に応答していないアプリケーションを殺すために、ユーザの許可を要求しません(それはイベントキューを生成するときSDLが内部ん)。 – keltar