DXRuby 1.4.1 リファレンスマニュアル
3.2 Inputモジュール

キーボード・ゲームパッド・マウスの入力を扱います。

Input.x( pad_number=0 )
Input.y( pad_number=0 )

  カーソルキー・パッドの方向キーの入力を、X座標かY座標の増分(-1, 0, 1のいずれか)で返します。
  pad_numberは省略すると0(パッド0もしくはキーボード)になります。

Input.keyDown?( key_code )
Input.keyPush?( key_code )
Input.keyRelease?( key_code )
Input.key_down?( key_code )
Input.key_push?( key_code )
Input.key_release?( key_code )

  ※DXRuby1.4.1 (release系が)new!
  キーボードのキーの押下状態をtrue(押されている)/false(押されていない)で返します。
  key_down?は押されているあいだ、key_push?は押した瞬間のみ、trueになります。key_release?は離された瞬間のみtrueになります。
  key_codeに使える代表的な定数は以下のものです。
  それ以外の定数については4.10 キーコード定数を参照してください。

  K_ESCAPE
  K_TAB
  K_RETURN(フルキーのEnter)
  K_LCONTROL
  K_LSHIFT
  K_LMENU(ALTキー)
  K_SPACE
  K_A(アルファベットいろいろ)
  K_1(フルキーの数字いろいろ)
  K_F1(ファンクションキーいろいろ)
  K_NUMPAD0(テンキーの数字いろいろ)
  K_NUMPADENTER(テンキーのEnter)
  K_PGUP(PageUp)
  K_PGDN(PageDown)
  K_UP
  K_LEFT
  K_RIGHT
  K_DOWN

  デフォルトでは十字ボタンとカーソルキー、P_BUTTON0とZ、P_BUTTON1とX、P_BUTTON2とCが割り当てられています。

Input.padDown?( button_code, pad_number=0 )
Input.padPush?( button_code, pad_number=0 )
Input.padRelease?( button_code, pad_number=0 )
Input.pad_down?( button_code, pad_number=0 )
Input.pad_push?( button_code, pad_number=0 )
Input.pad_release?( button_code, pad_number=0 )

  ※DXRuby1.4.1 (release系が)new!
  パッドのボタン状態をtrue(押されている)/false(押されていない)で返します。
  pad_down?は押されているあいだ、pad_push?は押した瞬間のみ、trueになります。pad_release?は離された瞬間のみtrueになります。
  pad_numberは省略すると0(パッド0もしくはキーボード)になります。
  button_codeに使える定数は以下のものです。

  P_UP
  P_LEFT
  P_RIGHT
  P_DOWN
  P_BUTTON0(ボタン15まで)
  P_L_UP(アナログ左スティックのデジタル入力)
  P_L_LEFT
  P_L_RIGHT
  P_L_DOWN
  P_R_UP(アナログ右スティックのデジタル入力)
  P_R_LEFT
  P_R_RIGHT
  P_R_DOWN
  P_D_UP(アナログPOVのデジタル入力)
  P_D_LEFT
  P_D_RIGHT
  P_D_DOWN

  pad_number0の時、デフォルトでは十字ボタンとカーソルキー、P_BUTTON0とZ、P_BUTTON1とX、P_BUTTON2とCが割り当てられています。

Input.setRepeat( wait, interval )
Input.set_repeat( wait, interval )

  keyPush?、padPush?メソッドを、オートリピートモードにします。
  waitは初めの入力があってから、リピート開始するまでの時間(フレーム数)を表します。
  intervalはリピート開始してからの、入力がONになる間隔(フレーム数)です。
  両方を1にすると毎フレーム入力、つまりkeyDown?/padDown?と同じ動作になります。
  両方を0にすると解除です。

Input.setKeyRepeat( key, wait, interval )
Input.set_key_repeat( key, wait, interval )

  特定のキーのみkeyPush?メソッドをオートリピートモードにします。
  詳細はInput.setRepeatを参照してください。

Input.setPadRepeat( pad, wait, interval, padnumber=0 )
Input.set_pad_repeat( pad, wait, interval, padnumber=0 )

  特定のパッドのボタンのみpadPush?メソッドをオートリピートモードにします。
  詳細はInput.setRepeatを参照してください。

Input.setConfig(pad, key, pad_number=0 )
Input.set_config(pad, key, pad_number=0 )

  padはP_???のパッドキー定数、keyはK_???のキー定数、pad_numberはパッド番号で、パッドとキーの割り当てを設定します。
  この設定の効果はkeyPush?/keyDown?/padPush?/padDown?メソッドを使った場合に有効で、どちらかを押したら、
  対応したもう片方のボタンも押されたことになります。
  padもしくはkeyにnilを指定すると、そのpadやkeyに割り当てられたもの全てが解除されます。
  デフォルトではパッド0の十字ボタンとカーソルキー、P_BUTTON0とZ、P_BUTTON1とX、P_BUTTON2とCが割り当てられています。

Input.mousePosX
Input.mousePosY
Input.mouse_pos_x
Input.mouse_pos_y

  マウスの座標を返します。
  座標はウィンドウの左上を(0,0)としたスクリーン座標です。

Input.setMousePos( x, y )
Input.set_mouse_pos( x, y )

  マウスの座標を設定します。
  座標はウィンドウの左上を(0,0)としたスクリーン座標です。

Input.mouseDown?( button )
Input.mousePush?( button )
Input.mouseRelease?( button )
Input.mouse_down?( button )
Input.mouse_push?( button )
Input.mouse_release?( button )

  ※DXRuby1.4.1 (release系が)new!
  マウスのボタン状態をtrue/falseで返します。
  mouse_down?は押されているあいだ、mouse_push?は押した瞬間のみ、trueになります。mouse_release?は離された瞬間のみtrueになります。
  buttonはM_LBUTTON、M_MBUTTON、M_RBUTTONでそれぞれ左ボタン、中ボタン、右ボタンです。

Input.mouseWheelPos
Input.mouseWheelPos=val
Input.mouse_wheel_pos
Input.mouse_wheel_pos=val

  マウスのホイール位置を設定または取得します。

Input.mouseEnable=val
Input.mouse_enable=val

  マウスカーソルがウィンドウ上にある場合に、カーソルを描画するどうかを指定します。
  trueで描画、falseで描画しないになります。
  初期値はtrueです。
 

Input.keys

  現在押されているキーのキー定数を配列にして返します。 

Input.pads(pad_number = 0)

  現在押されているパッドのボタン定数を配列にして返します。

Input.update

  入力情報を更新します。
  Window.loopの中で同じ処理がされていますので、Window.loopを使わずに自分でゲームループを組み立てるときにだけ使ってください。
  通常はfalseを返しますが、ウィンドウを閉じる操作がされたときにtrueを返します。
  これを無視するとウィンドウを閉じる操作(右上のxボタンやALT+F4)が無視されるようになります。

Input.pad_num

  現在接続されているパッドの数を返します。

Input.pad_axis(pad_number = 0)

  アナログパッドの軸の入力を[x, y, z, rx, ry, rz]の配列で返します。値はそれぞれ0.0〜1.0のFloatオブジェクトです。
  存在しない軸については0.0固定となります。
  DirectInputデバイスの場合、デフォルトでは左スティックがxとy、右スティックがzとrzに入ります。

Input.pad_lstick(pad_number = 0)

  アナログパッドの左スティックの入力を-1.0〜1.0に補正して返します。
  デバイスの定義により中心はきっかり0にはならない場合があります。

Input.pad_rstick(pad_number = 0)

  アナログパッドの右スティックの入力を-1.0〜1.0に補正して返します。
  デバイスの定義により中心はきっかり0にはならない場合があります。

Input.pad_pov(pad_number = 0)

  アナログパッドのPOV(ハットスイッチ。通常のスティック付パッドの場合は十字ボタン)の入力を角度の100倍の値(0〜335999)で返します。
  十字ボタンの場合は4500ごとの値になります。

Input.pad_lx(pad_number = 0)
Input.pad_ly(pad_number = 0)
Input.pad_rx(pad_number = 0)
Input.pad_ry(pad_number = 0)
Input.pad_pov_x(pad_number = 0)
Input.pad_pov_y(pad_number = 0)

  アナログ入力デバイスのデジタル入力用です。それぞれアナログパッドの左スティック、右スティック、POVの入力を-1、0、1の値で返します。

Input.set_cursor(cursor_type)

  ※DXRuby1.4.1 new!
  マウスカーソルの形状を変更します。以下の値が使用できます。
IDC_APPSTARTING 標準の矢印カーソルと小さい砂時計カーソル
IDC_ARROW 標準の矢印カーソル
IDC_CROSS 十字カーソル
IDC_HAND ハンドカーソル
IDC_HELP 矢印と疑問符
IDC_IBEAM アイビーム( 縦線)カーソル
IDC_NO 禁止カーソル( 円に左上から右下への斜線)
IDC_SIZEALL 4 方向の矢印カーソル
IDC_SIZENESW 右上と左下を指す両方向矢印カーソル
IDC_SIZENS 上下を指す両方向矢印カーソル
IDC_SIZENWSE 左上と右下を指す両方向矢印カーソル
IDC_SIZEWE 左右を指す両方向矢印カーソル
IDC_UPARROW 上を指す垂直の矢印カーソル
IDC_WAIT 砂時計カーソル