入力機器を管理するモジュールです。
キーおよびボタンの表現
Star Ruby において、入力機器のキーおよびボタンは以下の通りに表現されます。
キーボード
キー名 (Symbol) の名前は 101 キーボード (英語キーボード) 由来になっています。そのためほかの種類のキーボードでは、キーボードに書かれている文字とキー名が異なる場合がございます。
実際のキーボードと Symbol との対応を知るには、サンプルの keyboard.rb を実行してみてください。
| 値 | 意味 |
|---|---|
:a 〜 :z | アルファベット |
:d0 〜 :d9 | 数字 |
:f1 〜 :f15 | ファンクション |
:numpad0 〜 :numpad9 | 数字 (テンキー) |
:add | + (テンキー) |
:back | BackSpace |
:backslash | バックスラッシュ (Ver 0.3.2 から) |
:backquotes | バッククオート (Ver 0.3.2 から) |
:capslock | Caps Lock |
:clear | Clear |
:closebrackets | ] (Ver 0.3.2 から) |
:comma | , (Ver 0.3.2 から) |
:decimal | . (テンキー) |
:delete | Delete |
:divide | / (テンキー) |
:down | 下キー |
:help | Help |
:home | Home |
:end | End |
:enter | Enter / Return |
:equals | = (Ver 0.3.2 から) |
:escape | Esc |
:insert | Insert |
:lcontrolkey | 左 Ctrl |
:left | 左 |
:lmenu | 左 Alt |
:lshiftkey | 左 Shift |
:minus | - (Ver 0.3.2 から) |
:multiply | * (テンキー) |
:numlock | NumLock? |
:openbrackets | [ (Ver 0.3.2 から) |
:pagedown | Page Down |
:pageup | Page Up |
:period | . (Ver 0.3.2 から) |
:quotes | ' (Ver 0.3.2 から) |
:rcontrolkey | 右 Ctrl |
:right | 右 |
:rmenu | 右 Alt |
:rshiftkey | 右 Shift |
:scroll | Scroll Lock |
:semicolon | ; (Ver 0.3.2 から) |
:separator | Enter (テンキー) (Ver 0.3.2 から) |
:space | スペース |
:subtract | - (テンキー) |
:tab | タブ |
:up | 上 |
ゲームパッド
| 値 | 意味 |
|---|---|
:down | 下キー |
:left | 左キー |
:right | 右キー |
:up | 上キー |
| (整数値) | 整数値に対応するボタン (1 番始まり) |
マウス
| 値 | 意味 |
|---|---|
:left | 左ボタン |
:middle | 中央ボタン |
:right | 右ボタン |
モジュールメソッド
Input.gamepad_count-
接続されているゲームパッドの個数を取得します。
Input.keys(device, options = {})-
押されたボタンの集合を表す配列を返します。
deviceでデバイスの種類を指定します。指定できる値は以下の通りです。値 意味 :keyboardキーボード :gamepadゲームパッド :mouseマウス 何もボタンが押されていなかった場合は空の配列を返します。
optionsにはHashを指定します。指定できるキーと値は、以下の通りです。キー 値 デフォルト値 :device_number0 番から始まるデバイス番号。ゲームパッドの場合のみ有効です。 0 :durationキーを押し始めてから、キーが押されていると判別される持続時間 (フレーム数)。 -1 を指定した場合は無限です (押しっぱなしの間ずっと「押された」と判別されます)。 -1 :delay:durationを正数で指定している場合、 2 回目以降「押された」と判別されるまでの遅延時間 (フレーム数)。 -1 を指定した場合は無限です (2 回目以降の判定がありません)。-1 :interval2 回目以降「押された」と判断される時間間隔 (フレーム数)。 0 on: ------------ - - ... off: --------- ------------ ------------ ... <-duration-><-delay-> <-interval-> <-interval-> ... Input.mouse_location-
マウスの座標を表す配列 ([(X 座標), (Y 座標)]) を取得します。
受け取る値は配列ですが、 Ruby には多重代入の文法があり、次のように書くことができます。
x, y = Input.mouse_location Input.mouse_location=(location)-
(Ver 0.1.17 から)
マウスの座標を表す配列 ([(X 座標), (Y 座標)]) を設定します。
渡す値は配列ですが、 Ruby には多重代入の文法があり、次のように書くことができます。
Input.mouse_location = 10, 20