HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0818
kenジョイスティック4解決


ken

リンク

2010/8/18(Wed) 10:47:08|NO.34457

ゲームはまったくやったことがありません。ジョイスティックをあるツールに使おうと思って
います。
・jstick命令のポートは1台ならOで良いのですか?
・市販のジョイスティックのボタン(特に上下左右)のjstick命令の返り値は共通ではないのすか?

・一応http://hspdev-wiki.net/?%BE%AE%A5%EF%A5%B6%2F%A5%B8%A5%E7%A5%A4%A5%B9%A5%C6%A5%A3%A5%C3%A5%AF
は目を通したのですが 通常ゲーム作者はジョイスティックのボタンの設定機能も実装するのですか?

OSはXP以上ということでよろしくお願い致します。



この記事に返信する


GENKI

リンク

2010/8/19(Thu) 00:41:18|NO.34476

> ・jstick命令のポートは1台ならOで良いのですか?

どうやら0とは限らないようです。
「優先デバイス」に特定のデバイス(コントローラ)を指定した場合、そのデバイスにポート0が強制的に割り当てられます。
もし優先デバイスに設定したデバイスを接続せずに他のコントローラを接続した場合、接続したコントローラはポート1以降が割り当てられるようです。

なお、設定はコントロールパネルのゲームコントローラの詳細設定で行えます。

昔調べたときの私の認識は間違っていたようです…。
先ほどVistaで色々試して確認してみたところ、上記のような結果になりました。
結局どのポートにコントローラがつながっているか分からないので、事前に使用可能なコントローラが接続されているポート番号を調べるようにしたほうがいいでしょう。
ということでサンプル。

#include "mod_joystick.as" ;使用可能なidを検索 id = 0 repeat 16 jstick key, id if stat = 0 : break id++ loop *main redraw 1 : await 16 : redraw 0 : color 255, 255, 255 : boxf : color : pos 0,0 jstick key, id mes "ID : " + id mes "key : " + key goto *main
これならコントローラさえ繋がっていれば必ず認識するはずです。


> ・市販のジョイスティックのボタン(特に上下左右)のjstick命令の返り値は共通ではないのすか?

上右下左は1,2,4,8で共通のはずです。方向キーは気にせず使用していいと思います。
しかし、他のボタンは機種やメーカーで配置が異なるため場所と値は必ずしも一致しません。
外見が同じタイプで同じ場所のボタンでも、返す値が異なることがあります。(そんなときでも方向キーはちゃんと同じ値を返します。)


> 通常ゲーム作者はジョイスティックのボタンの設定機能も実装するのですか?

実装する人としない人がいるようです。面倒ですからね…。
方向キー以外で、使うボタンが少なければ、設定は特に設ける必要はないと思います。ある程度なら慣れてしまいます。



ken

リンク

2010/8/19(Thu) 21:25:45|NO.34509

GENKIさんありがとうございます。

>どうやら0とは限らないようです。
了解です。サンプル使わせていただきます。

>上右下左は1,2,4,8で共通のはずです。
これも了解ですが他のボタン(キー)も少しは使いたいのですが皆さんはどうしているのですか?



GENKI

リンク

2010/8/19(Thu) 22:33:03|NO.34511

ゲームコントローラはボタンを最低でも4ボタン以上備えているのが普通です。
ファミコンでいえばA,Bの2ボタンに加えてstart,selectに相当するボタンです。

ボタンを押したときに返される値は通常、数値が小さいものから使用されるので、16,32,64,128まではどのコントローラでも取得できるということになります。欠番は通常出ません。
また手持ちのコントローラを調べてみましたが、start,selectなどの押しにくい・使用頻度が低いボタンは大きい数値が割り当てられる傾向があるようです。
したがってstart,selectを除くと、16,32が確実に通常のボタンに割り振られている値と考えてよさそうです。

しかし今のコントローラは最低でも6ボタンが当たり前、12ボタンも今は主流と考えてよさそうです。
6ボタンを想定するなら128まで、12ボタンを想定するなら2048まではstart,select以外の通常の使いやすいボタンのどれかになっているはずです。
想定するコントローラのボタン数を考えつつ、小さい数値から使用していくといいかと思います。

ソフト公開時は「○ボタン以上のゲームパッドが必要です。」と書いておくといいでしょう。


> 皆さんはどうしているのですか?

どうしてるんでしょうね。私も気になります。



ken

リンク

2010/8/21(Sat) 22:20:35|NO.34564

>想定するコントローラのボタン数を考えつつ、小さい数値から使用していくといいかと思います。

分かりました。その方向でやってみます。
ご丁寧な解説ありがとうございました。



ONION software Copyright 1997-2021(c) All rights reserved.