Star Ruby Ruby extension library for creating 2D games

StarRuby::Input

入力機器を管理するモジュールです。

キーおよびボタンの表現

Star Ruby において、入力機器のキーおよびボタンは以下の通りに表現されます。

キーボード

キー名 (Symbol) の名前は 101 キーボード (英語キーボード) 由来になっています。そのためほかの種類のキーボードでは、キーボードに書かれている文字とキー名が異なる場合がございます。

実際のキーボードと Symbol との対応を知るには、サンプルの keyboard.rb を実行してみてください。

意味
:a:zアルファベット
:d0:d9数字
:f1:f15ファンクション
:numpad0:numpad9数字 (テンキー)
:add+ (テンキー)
:backBackSpace
:backslashバックスラッシュ (Ver 0.3.2 から)
:backquotesバッククオート (Ver 0.3.2 から)
:capslockCaps Lock
:clearClear
:closebrackets] (Ver 0.3.2 から)
:comma, (Ver 0.3.2 から)
:decimal. (テンキー)
:deleteDelete
:divide/ (テンキー)
:down下キー
:helpHelp
:homeHome
:endEnd
:enterEnter / Return
:equals= (Ver 0.3.2 から)
:escapeEsc
:insertInsert
:lcontrolkey左 Ctrl
:left
:lmenu左 Alt
:lshiftkey左 Shift
:minus- (Ver 0.3.2 から)
:multiply* (テンキー)
:numlockNumLock?
:openbrackets[ (Ver 0.3.2 から)
:pagedownPage Down
:pageupPage Up
:period. (Ver 0.3.2 から)
:quotes' (Ver 0.3.2 から)
:rcontrolkey右 Ctrl
:right
:rmenu右 Alt
:rshiftkey右 Shift
:scrollScroll Lock
:semicolon; (Ver 0.3.2 から)
:separatorEnter (テンキー) (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
© Copyright 2010 Hajime Hoshi