目次 - API(機能別) - ゲームコントローラー
ゲームコントローラー
インクルードファイル: SDL_gamecontroller.h
概要
ここに分類される関数は, ゲームコントローラーとゲームコントローラーにマッピング(対応付け)されたジョイスティックを扱う.
これは既存のジョイスティックAPIの上に成り立っている.
SDL_GameControllerはゲームパッド(コントローラー)をxbox360-padと同じようなものとして抽象化してあつかう.
つまり, ゲームパッドには十字キー, 2つのアナログスティック, 右側の4ボタン(よくA, B, X, Yと呼ばれる), ショルダーボタン(その内の2つはコントローラーかもしれない), 中央の3ボタン(スタート, バック, そしてしばしばロゴボタン)がある.
これは似たようなレイアウトのデバイス, 例えばPlaystation DualShockコントローラーにも存在するが, ボタン名が異なる.
SDL_GameControllerでは, 対応する全てのデバイスはxbox360/XInputの名称に変換される.
例えば, SDL_CONTROLLER_AXIS_LEFTXは常に左アナログスティックのX軸, SDL_CONTROLLER_BUTTON_Bは常に右側の4ボタンで最も右側のボタンである.
これによりあなたのユーザに「Bでジャンプ, 左アナログスティックで移動」のように(同じようなデバイスに)一貫したルールを提供できる.
SDL_Joystick(とDirectInputのような下位API)では, SDL(やDirectInput)上のスティックやボタンとデバイス上の物理的なスティック/ボタンの位置の対応付けを知ることはできない.
もしStreamからゲームを起動すると, ゲームコントローラーは自動的にマッピングされる.
列挙体
- SDL_GameControllerAxis
- SDL_GameControllerButton
- SDL_GameControllerBindType
構造体
- SDL_GameControllerButtonBind
関数
- SDL_GameControllerAddMapping
- SDL_GameControllerAddMappingsFromFile
- SDL_GameControllerAddMappingsFromRW
- SDL_GameControllerClose
- SDL_GameControllerEventState
- SDL_GameControllerFromInstanceID
- SDL_GameControllerGetAttached
- SDL_GameControllerGetAxis
- SDL_GameControllerGetAxisFromString
- SDL_GameControllerGetBindForAxis
- SDL_GameControllerGetBindForButton
- SDL_GameControllerGetButton
- SDL_GameControllerGetButtonFromString
- SDL_GameControllerGetJoystick
- SDL_GameControllerGetStringForAxis
- SDL_GameControllerGetStringForButton
- SDL_GameControllerMapping
- SDL_GameControllerMappingForGUID
- SDL_GameControllerName
- SDL_GameControllerNameForIndex
- SDL_GameControllerOpen
- SDL_GameControllerUpdate
- SDL_IsGameController
SDL Wikiへのリンク
GameController and Joystick Mapping - SDL Wiki