Clamini library

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形式で圧縮されてるので、使う前に解凍してください!