目次 - API(機能別) - ゲームコントローラー - SDL_GameControllerOpen

SDL_GameControllerOpen

ゲームコントローラーを使うために開く

構文

SDL_GameController* SDL_GameControllerOpen(int joystick_index)

引数

joystick_indexSDL_NumJoysticks()個までのデバイスの番号

戻り値

成功のときゲームコントローラー識別子, 失敗のときNULLを戻す. SDL_GetError()で詳細を知ることができる.

サンプルコード

/* 利用可能な最初のコントローラーを開く */
SDL_GameController *controller = NULL;
for (int i = 0; i < SDL_NumJoysticks(); ++i) {
    if (SDL_IsGameController(i)) {
        controller = SDL_GameControllerOpen(i);
        if (controller) {
            break;
        } else {
            fprintf(stderr, "ゲームコントローラー%dを開けなかった: %s\n", i, SDL_GetError());
        }
    }
}

詳細

device_indexはSDL_JoystickOpen()の引数のjoystick_indexと同じである.

引数のjoystick_indexは, そのシステムのN番目のゲームコントローラを表す. joystick_indexの値は, 後のコントローラーイベントでこのコントローラーを識別する値とは別である. 代わりにジョイスティックのインスタンスID(SDL_JoystickID)が使われる.

バージョン

SDL 2.0.0以降

関連項目(関数)

SDL_GameControllerClose
SDL_GameControllerNameForIndex
SDL_IsGameController

SDL Wikiへのリンク

SDL_GameControllerOpen - SDL Wiki