HSP3系でのゲームパッドとキーボード両立
明日っつうか今日、ボーマス出ます。
出し物は今からつくるよ。
その一つの「ミク☆ブラスター」で、ジョイパッド対応の要望が多かったので対応します。
HSP3系でなかなかジョイパッドとキーボードを両立できるソースがくめなかったんだけども
GENKI's HOME PAGE(仮名)さんのモジュールで対応してみました。
*sub_key ;キー入力のためのサブルーチン ;まずは以前の入力をバックアップ kb_esc = k_esc kb_left = k_left kb_up = k_up kb_right = k_right kb_down = k_down kb_b = k_b kb_c = k_c kb_d = k_d kb_e = k_e kb_f = k_f kb_r = k_r kb_s = k_s kb_z = k_z kb_x = k_x ;キー入力を取得 getkey k_esc,27 ;[ESC] getkey k_left,37 ;[←] getkey k_up,38 ;[↑] getkey k_right,39 ;[→] getkey k_down,40 ;[↓] getkey k_b,66 ;[B] getkey k_c,67 ;[C] getkey k_d,68 ;[D] getkey k_e,69 ;[E] getkey k_f,70 ;[F] getkey k_r,82 ;[R] getkey k_s,83 ;[S] getkey k_x,88 ;[X] getkey k_z,90 ;[Z] ;ジョイスティック入力 JStick joy, 0x800000-1, jid, 2 if (joy&1) or (k_left == 1) : k_left = 1 : else : k_left = 0 if (joy&2) or (k_up == 1) : k_up = 1 : else : k_up = 0 if (joy&4) or (k_right == 1) : k_right = 1 : else : k_right = 0 if (joy&8) or (k_down == 1) : k_down = 1 : else : k_down = 0 if (joy&2048) or (k_z == 1): k_z = 1 : else : k_z = 0 // [Z] if (joy&4096) or (k_x == 1): k_x = 1 : else : k_x = 0 // [X] if (joy&8192) or (k_c == 1): k_c = 1 : else : k_c = 0 // [C] return
上記ソースで十字キーとZXC、ゲームパッドどっちでも動くようになります。
s_line.hsp、IniEdit.as、m_joystick.hspをcommonにつっこんで開発してます。
これって結構困ってる人いんじゃないのかな、、、私だけ?
んで実際判定する時は
if (k_z == 1) and (kb_z == 0) { //Zボタンが押された瞬間の処理 } if (k_z == 1) and (kb_z == 1) { //Zボタンが押され続けた時の処理 } if (k_z == 0) and (kb_z == 1) { //Zボタンが離された瞬間の処理 }
こんなかんじで。
では会場であいましょう。