使用方法は、通常のモジュールの使い方と同じです。 事前にインストール作業を完了させておいてください。
まずは、joyp_sample01.hspを実行してみてください。 もっと機能を使いたくなったらこの章を読み進めてください。
スクリプトの先頭で次のように記述してください。
#include "m_joystick.hsp"
この記述を行うと、本モジュールの機能を使えるようになります。 また、このとき同時に IniEdit.as も一緒に読み込まれます。
メインループを書いて、ループ内で次のように記述してください。
JStick key
stikc
命令を使ったスクリプトが手元にある場合は、stick
をJStick
に書き換えてもいいでしょう。
これだけで接続されているゲームパッドからの入力値を取得できます。
キーボードからの入力でも操作ができます。
しかし、このままでは実行環境によってはゲームパッドを認識しない可能性があります。 動作の信頼性を向上させるため、次のような使用する前の準備作業をオススメします。
PCに接続されているゲームパッドが1つであればほぼ問題はありません。 しかしユーザーが2つ以上のゲームパッドを所持している可能性もあるので、常に1つとは限りません。 無線の場合なら、接続を外しているつもりが繋がったままということもあるかもしれません。
まずは現在PCに接続されて使用可能な状態になっているゲームパッドを調査します。
JStickSearchID
命令を実行するだけで作業は完了です。
想定しているゲームパッド使用数が1個の場合でも、ゲームパッドIDが「0」である保証はないので実行しておくことをオススメします。
stat
に使用可能なゲームパッドの個数、
指定した配列変数に、検出したゲームパッドIDが入ります。
JStick
命令で現在実際に使用することができるゲームパッドIDの一覧を取得できました。
どのゲームパッドでもとにかく使えればいいという場合は、検出した最初(0)のゲームパッドIDを使用してください。
PCに複数のゲームパッドを接続している場合、JStickSearchID
は複数のゲームパッドIDを返します。
この時点ではまだ、実際にユーザーがゲームに使用したいゲームパッドがどれなのかはわかりません。
プログラムする側としては、どうせ1つしか繋いでいないだろうと番号が小さいものを選びたくなるものです。 しかしユーザー側は、複数のゲームパッドを持っていることがあります。 その日の気分で使うものを決めるかもしれません。一番近くに転がっていた物を適当に掴んだり、昔買って繋いでいたことを忘れているゲームパッドもあるかもしれません。 ユーザーは何をするかわからないので、本当に、今、使用したいゲームパッドがどれなんかは現時点では全くわかりません。
そこでひとつの解決案として、ユーザー自身に使いたいゲームパッドを操作させることで、使用するゲームパッドを検出する方法を例示しています。 方法はサンプル joyp_sample03.hsp を参考にしてください。
stick
をJStick
に書き換えるだけでも動作はします。
非トリガータイプキー指定の指定要領もstick
命令とほとんど同じです。
キーボード操作時に返す値は、stick
命令と同じものです。
開発者側で想定しているボタン配置がユーザーにとって使いやすいとは限りません。 右利きか左利きか、ケガの治療中で片手しか使えない状態かもしれません。 またゲームパッドは外見がほとんど同じ形状のものでも、メーカーや機種によってボタン配置が異なります。 そしてもちろん右手親指付近のボタン数が4個ではないゲームパッドもたくさん存在しています。
ボタン配置を変更する機能は、ユーザーの利便性を追求する以外にもとても意味のある機能です。
とは言っても、いざ実装するとなると面倒ですよね。 そこで本パッケージでは、同梱して配布できるボタン配置設定ツール設定.exeを用意してあります。 スクリプト付きなので、必要に応じて自分のゲーム作品専用にカスタマイズして利用することもできます。ぜひご利用をご検討ください。
設定.exeで設定した内容は、iniファイルに保存されます。 設定は、本モジュールを使用したexeファイルを実行した際、自動的に読み込まれて反映されます。 プログラム側での特別な操作は必要ありません。
設定.exeを使う方法以外にも、ボタンやアナログスティックの配置をプログラムによって変更する機能も備えています。 自分のゲーム内でキー配置変更機能を実装することもできます。
JStickCfg
… ボタン配置の変更機能。
JStickACfg
… アナログスティック配置と方向の変更機能。
キー配置の設定は、複数のパターン(上限32個)を作成できます。
ゲームパッド1個分の設定パターンは、パッド設定番号で管理されます。
JStickSetNum
命令を使うことで、ゲームパッドごとに異なるパターン(パッド設定番号)を割り当てて使用できます。
また、各設定には文字列による名前をつけることができます。JStickSetSettingName
変更した後の現在のボタン・アナログスティックの設定は、JStickIniSavePadAll
命令で保存できます。
設定は上書きされてしまうので注意してください。保存するINIファイルを変更したい場合は、JStickIniSetFile
命令を使用してください。
保存した設定は、本モジュールを#include
した行で自動的に読み込まれます。
任意のタイミングでINIファイルから設定を読み込みたい場合は、JStickIniSetPad
, JStickIniSetPadAll
命令を使用してください。