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

# SDL_GameControllerOpen

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

## 構文

`SDL_GameController* SDL_GameControllerOpen(int joystick_index)`

## 引数

joystick_index | SDL_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