Chapter4. 拡張関数


4.2 システム関数

関数名
I@JOYGET
機能
スティックの傾きおよびボタン情報をジョイスティックから取得する。
書式
I@JOYGET(JoyNum)
《パラメーター》
JoyNumint。取得するジョイスティック番号(0〜15)。
戻り値int。取得結果。
0
:取得成功。
-1
:失敗。ジョイスティックが接続されていない可能性があります。
解説
LGP はパソコンに接続した最大 16個のジョイスティックを管理でき、本関数を実行することで本関数実行時点のジョイスティックの全情報を取得する。取得した情報は I@JOYBTN、I@JOYAPOS、I@JOYDPOS 関数で取得する。取得したジョイスティックの値は次に本関数(当該ジョイスティックの読み込み)を実行するまで保持される。
 ジョイスティックの情報は、コントロール パネルでユーザーが設定したキャリブレーションを使用する。
 DirectInput は、HID に準拠したデバイスを完全にサポートする。HID デバイスから入手できるデータは、実質上、従来のデバイスから入手できるデータと同じである。HID の詳細については、http://www.usb.org を参照すること。
用例
0 番のジョイスティックの全情報を取得し画面に表示する。
CH=G@SETUP(640,480,16,1)
LOOP
  G@CHRCLEAR(CH)
  I@JOYGET(0)
  //デジタル方向入力
  FOR I=0 TO 11
    G@PRINT(CH,0,I*16,STR(I@JOYDPOS(0,I)))
  NEXT
  //アナログ方向入力
  FOR I=0 TO 11
    G@PRINT(CH,48,I*16,STR(I@JOYAPOS(0,I)))
  NEXT
  //ボタン処理
  G@PRINT(CH,128,0,STR(I@JOYBTN(0,0)))
  FOR I=0 TO 31
    G@PRINT(CH,144+I/16*16,I%16*16,STR(I@JOYBTN(0,I+1)))
  NEXT
  G@FLIP()
ENDLOOP