SDL_Joystick* SDL_JoystickOpen(int device_index)
device_index | 開くジョイスティックの番号 |
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()を参照すること.
ジョイスティックサブシステムは, ジョイスティックを開く前に初期化されている必要がある.