joy_winmm
joy_winmm.asは、WindowsAPIを使用して、HSPでゲーム用コントローラーの認識を行うことができるモジュールです。 WinMMという古典的なものを使って認識させているため、最新のコントローラーなどは認識しない可能性があります。
モジュールの使い方
;============================================================================= ; ゲームパッド制御モジュール (WINMM対応) 簡易リファレンス ;============================================================================= ; 【基本】 ; ・このファイルを #include "joy_winmm.as" した後、ゲーム開始時に「joy_init」を1度呼んでください。 ; ・メインループの先頭で必ず「joy_update 0」を呼び出してください。 ;----------------------------------------------------------------------------- ; ; ◆ joy_init ; コントローラの初期化を行います。ゲーム起動時に1回だけ呼び出してください。 ; (例) joy_init ; ; ◆ joy_update パッドID ; 現在のコントローラの入力を更新します。毎フレーム(ループの先頭など)で呼んでください。 ; 引数 (パッドID) : 0 = 1台目のパッド, 1 = 2台目のパッド ; (例) joy_update 0 ; ; ◆ j_connected() ; コントローラが現在正常に接続されているかを判定します。 ; 戻り値 : 1 = 接続中 / 0 = 未接続・切断状態 ; (例) if j_connected() == 0 : mes "コントローラを挿してください" ; ; ◆ j_left() / j_right() / j_up() / j_down() ; 方向入力を判定します(長押し対応)。 ; 戻り値 : 1 = 押されている / 0 = 押されていない ; (例) if j_left() : x -= 4 ; ; ◆ j_btn( ボタン番号 ) ; 指定したボタンが【 押しっぱなし 】にされているかを判定します。 ; 引数 (ボタン番号) : 1 - 32 ; 戻り値 : 1 = 押されている / 0 = 押されていない ; 用途 : 移動、シューティングの連射、押しっぱなしのダッシュなど ; (例) if j_btn(1) : gosub *shot_proc ; ; ◆ j_btn_trigger( ボタン番号 ) ; 指定したボタンが【 押された瞬間 】だけを判定します(長押し無効)。 ; 引数 (ボタン番号) : 1 - 32 ; 戻り値 : 1 = 今押された / 0 = それ以外(離されている、または押しっぱなし中) ; 用途 : ジャンプ、メニューの決定・キャンセル、ポーズ画面への切り替えなど ; (例) if j_btn_trigger(2) : gosub *jump_proc ; ;=============================================================================
ダウンロード
下のリンクからファイルをダウンロードできます。
joy_winmm.zip ※ZIP形式で圧縮されてるので、使う前に解凍してください!