コンテンツにスキップ

ゲームパッド状態の観察 (PadOverlay)

SDL3 ビルドのエンジンには、画面左上にゲームパッドの状態 ( 16 ボタンの ON/OFF と 6 軸のアナログ値 ) をリアルタイム表示するデバッグ用オーバレイ が組み込まれています。実機 ( 例えば Switch ) でコントローラ周りの動作 確認をするときに使えます。

詳細な表示仕様と内部構造は src/core 側のガイドを参照:


表示例

+--------------------------------+
| Pad: Xbox Series X Controller  |
| [A ][B ][X ][Y ]               |
| [L1][R1][L2][R2]               |
| [BK][ST][LS][RS]               |
| [Lf][Up][Rt][Dn]               |
| LX +0.45 LY -0.32              |
| RX +0.00 RY +0.00              |
| LT +0.00 RT +0.80              |
+--------------------------------+
  • ヘッダ: SDL ゲームパッド名 ( 未接続時は (none) )
  • セル: 押下中は緑、未押下は暗灰
  • 軸: スティック軸は -1.00 〜 +1.00、トリガ軸は 0.00 〜 +1.00

WINVER ビルドではパッド抽象 API を持たないため、OGLDrawDevice 経路で出した 場合は全 OFF・全軸 +0.00 の表示になります。


オーバレイの有効化

-memoverlay=1 ( 画面右上 ) と独立に動作し、 両方同時に表示できます。


TJS2 から軸を直接取得する

オーバレイは観察用ですが、スクリプトから軸のアナログ値を取得するには System.getPadAxis を使います。

var v = System.getPadAxis(0, System.padAxisLeftX);
// v は -1.0 〜 +1.0 の実数 (未接続/無効値で 0.0)

軸 ID 定数は System.padAxisLeftX など 6 種類が用意されています。

振動制御は System.rumblePad / System.stopRumblePad で行えます。 ゲームパッドの接続数・存在確認は System.getJoypadCount / System.hasJoypad を使います。