ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

イベントの取得

キーが押されたとか、マウスが動かされたなどのいわゆるイベントを取得するにはSDL_PollEvent()を使う。

int SDL_PollEvent(SDL_Event *event);

実際の使い方は次の通り。

SDL_Event event;

while ( SDL_PollEvent(&event) )
{
    switch( event.type )
    {
    case SDL_KEYDOWN:
        // キーが押された
        break;
    case SDL_UP:
        // キーが離された
        break;
    case SDL_MOUSEMOTION:
        // マウスが動かされた
        break;
    case SDL_MOUSEBUTTONDOWN:
        // マウスのボタンが押された
        break;
    case SDL_MOUSEBUTTONUP:
        // マウスのボタンが離された
        break;
    case SDL_QUIT:
        // ユーザーが終了をリクエストした
        break;
    }
}

アプリケーションを終了するときはSDL_QUITのイベントが来たことを判定すればよいだろう。