目次 - API(機能別) - ジョイスティック - SDL_JoystickOpen

# SDL_JoystickOpen

使用するジョイスティックを開く

## 構文

`SDL_Joystick* SDL_JoystickOpen(int device_index)`

## 引数

device_index | 開くジョイスティックの番号

## 戻り値

成功のときジョイスティックの識別子, 失敗のときNULLを戻す. SDL_GetError()で詳細を知ることができる.

## サンプルコード

``

    SDL_Joystick *joy;

    // ジョイスティックサブシステムを初期化する
    SDL_InitSubSystem(SDL_INIT_JOYSTICK);

    // ジョイスティックが存在するかチェックする
    if (SDL_NumJoysticks() > 0) {
        // ジョイスティックを開く
        joy = SDL_JoystickOpen(0);

        if (joy) {
            printf("ジョイスティック 0 を開いた\n");
            printf("名前: %s\n", SDL_JoystickNameForIndex(0));
            printf("軸の数: %d\n", SDL_JoystickNumAxes(joy));
            printf("ボタンの数: %d\n", SDL_JoystickNumButtons(joy));
            printf("ボールの数: %d\n", SDL_JoystickNumBalls(joy));
        } else {
            printf("ジョイスティック 0 を開けなかった\n");
        }

        // 開いたなら閉じる
        if (SDL_JoystickGetAttached(joy)) {
            SDL_JoystickClose(joy);
        }
    }

## 詳細

device_indexはSDLによって認識されたN番目のジョイスティックを意味する. この関数の戻り値は, インスタンスID(将来のイベントでジョイスティックを識別するためのもの)と同じではない. インスタンスIDの詳細はSDL_JoystickInstanceID()を参照すること.

ジョイスティックサブシステムは, ジョイスティックを開く前に初期化されている必要がある.

## 関連項目(関数)

SDL_JoystickClose
SDL_JoystickInstanceID

## SDL Wikiへのリンク

SDL_JoystickOpen - SDL Wiki