Keyboard - stingray.Keyboard ネームスペース リファレンス - Stingray Lua API リファレンス

説明

キーボードを表すグローバル シングルトンです。

キーボードのボタン名

次のボタン名のセットをすべてのキーボードで使用できます。

escapeenterspacebackspacetab0123456789abcdefghijklmnopqrstuvwxyzminusequalcommaperiodopen bracketclose bracketsemicolonquoteslashbackslashbacktickleft shiftleft ctrlleft altleft systemright shiftright ctrlright altright systemf1f2f3f4f5f6f7f8f9f10f11f12f13f14f15f16f17f18f19f20f21f22f23f24insertdeletehomeendpage uppage downupdownleftrightnumpad 0numpad 1numpad 2numpad 3numpad 4numpad 5numpad 6numpad 7numpad 8numpad 9numpad +numpad -numpad *numpad /numpad .numpad enternum lockcaps lockscroll lockprint screenbreak

下位互換性のために、次の代替ボタン名のセットもすべてのキーボードで使用できます。

escnum -scrol lockleft winright winarrow uparrow downarrow leftarrow rightoem_minus (_ -)oem_plus (+ =)oem_comma (< ,)oem_period (> .), oem_1 (: ;), oem_2 (? /), oem_3 (~ `), oem_4 ({ [), oem_5 (| ), oem_6 (} ]), oem_7 (\" ')

次のボタン名のセットは、Windows キーボードでのみ使用できます。

attnclearcr seler eofexecuteex selicoclricohlpnonameoem_102 (> <)oem_8 (?!)oem attnautoaxback taboemclrcopycu selenlwfinishloyamashuroyatourokujumpoempa1oempa2oempa3resetwsctrlpa1packetplayprocessselectseparatorzoomacceptcontext menuconvertfinalhelpico00 *junjakanakanjiapp1app2mailmedialeft button **middle button **next trackplay / pauseprevious trackstopmode changenon convertjishopauseprintright button **shiftsleepvolume downvolume mutevolume upx button 1 **x button 2 **

キーボード軸名

なし。

キーストローク インタフェース

すべての Stingray 入力コントローラで提供される共通の関数セットに加えて、キーボードには、keystrokes()関数で提供される、テキストの入力に使用されるキーストロークを読みとるための別の方法があります。このインタフェースを使用する場合、[Shift]などの拡張キーは読み取らず、代わりに入力された実際の文字を取得します。キーストロークは、印字可能文字の文字列、および単純なキーボード入力アプリケーションで検出する特殊キーの数値で表されます。

ボタンおよび軸からの値の取得

すべてのタイプの入力コントローラには名前付きボタンおよび「軸」の組み込みセットがあり、これらによりユーザがコントローラに入力を提供するさまざまな方法を表します。

  • 各ボタンは、任意のフレームで押す、または放すことができます。これらのイベントは、pressed()および released()を呼び出すことで検出できます。また、コントローラは、そのボタンについて 01 の間の値を生成します。これは、button()を呼び出すことで取得できます。
  • 各軸について Vector3 を生成できます。場合により、この値は正規化されます。通常は、軸が何らかの種類のスケールに沿った変数値を示している場合です(プレイヤーがサムスティックを押している方向など)。たとえば、ゲーム パッドのサムスティックの押し方は、左いっぱい(1,0,0)、上いっぱい(0,1,0)、左上に直角(0.707107, 0.707107, 0)などです。または、場合により、軸は 3D 空間または 2D スクリーン空間の座標値を生成します。

キーボードのボタン[k]が押されたかどうかを確認するには、次のようにします。

local k_key_id = stingray.Keyboard.button_id("k")      -- retrieve the button ID
local isPressed = stingray.Keyboard.button(k_key_id)   -- use the ID to access the value

同様に、2D スクリーン空間における Windows マウス カーソルの現在位置を取得するには、次のようにします。

local cursor_axis_id = stingray.Mouse.axis_id("cursor")    -- retrieve the axis ID
local value = stingray.Mouse.axis(cursor_axis_id)          -- use the ID to access to value

または、プレイヤーがゲーム パッドで右のサムスティックを押している方向を取得するには、次のようにします。

local right_axis_id = stingray.Pad1.axis_id("right")
local value = stingray.Pad1.axis(right_axis_id)

すべてのボタン名と軸名の取得

クエリーできるボタンおよび軸の名前は各種コントローラで異なり、さまざまなプラットフォームで異なる可能性もあります。デバイスで使用可能なボタンを確認する必要がある場合は、エディタのステータス バーまたはゲーム プロジェクトで次のコード スニペットを実行することで、現在のリストを取得できます。Mouse を、値を確認する対象のコントローラの名前で置き換えてください。

関数

パラメータ
この関数はパラメータを受け入れません。
戻り値

boolean

コントローラがアクティブである場合は true、それ以外の場合は false を返します。

パラメータ
この関数はパラメータを受け入れません。
戻り値

string

gamepadtouch_panelmouse、または keyboard のいずれかの値です。

パラメータ
この関数はパラメータを受け入れません。
戻り値

boolean

コントローラがこのフレームにアタッチされている場合は true、それ以外の場合は false を返します。

パラメータ
この関数はパラメータを受け入れません。
戻り値

boolean

コントローラがこのフレームから接続解除されている場合は true、それ以外の場合は false を返します。

パラメータ
この関数はパラメータを受け入れません。
戻り値

any(string, integer)[]

返されたテーブル内の各エントリは、文字列または整数のいずれかです。文字列値は、プレイヤーが対応するキーを押したことを示しています。整数値はキーストローク定数値を示します。

any(...) 表記は、この項目が括弧内に示されている任意のタイプのインスタンスであることを示しています。
[]表記は、この型が配列(メンバーのキーは連番、各要素の値は示されている型のインスタンス)であることを示します。
パラメータ
この関数はパラメータを受け入れません。
戻り値

string

コントローラの一意の名前が含まれている文字列です。

ほとんどの場合、この名前は type()で返される文字列の変形にカウンタを追加したものです。

パラメータ
この関数はパラメータを受け入れません。
戻り値

string

コントローラ デバイスの種類を説明する文字列です。

この識別子は、同じモデルのすべてのコントローラで同じになります(いくつかの例外はあります)。たとえば、xbox_controllerlogitech_mx518_mousegeneric_105_key_keyboard などです。この値は、いくつかのプラットフォームでは入力デバイス モデルには関係なく同じになる場合があることに注意してください。

パラメータ
この関数はパラメータを受け入れません。
戻り値

integer?

パッドを使用しているユーザの Xbox Live または PSN ID、またはパッドに接続しているユーザがいない場合は nil です。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。

PlayStation 4 および Xbox One で実行されているゲームでのみ使用でき、Windows では使用できません。

ボタンと軸

このグループ内の関数は、このコントローラによって追跡されるボタンと軸からの値の取得に関連しています。

パラメータ
この関数はパラメータを受け入れません。
戻り値

integer?

プレイヤーがこのフレームで押した最初のボタンの ID、またはプレイヤーがいずれのボタンも押さなかった場合は nil です。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。

その場合、プレイヤーが押した最初のボタンの ID を返します。

パラメータ
この関数はパラメータを受け入れません。
戻り値

integer?

プレイヤーがこのフレームで放した最初のボタンの ID、またはプレイヤーがいずれのボタンも放さなかった場合は nil です。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。

その場合、プレイヤーが放した最初のボタンの ID を返します。

パラメータ

id :

integer

値が取得される軸の ID です。

dead_zone_mode :

integer?

コントローラから読み込まれた値を返す前に適用するデッド ゾーンの種類を指定します。この値は、デッド ゾーン モード定数のいずれかです。このパラメータを指定する場合は、dead_zone_size も指定する必要があります。省略した場合は、[InputController.set_dead_zone()] を使用して設定した既定のデッド ゾーン値が使用されます。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。

dead_zone_size :

number?

コントローラから読み込まれた値に適用するデッド ゾーンのサイズです。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
戻り値

stingray.Vector3

指定された ID を持つ軸に対するコントローラの入力値です。

デッド ゾーンの環境設定コントロールは、非接触型インタフェースの場合にのみ使用できることに注意してください。

パラメータ

name :

string

ID を取得する対象の軸の名前。

戻り値

integer

軸の ID、または一致する名前を持つ軸が見つからない場合は nil です。

パラメータ

id :

integer

名前を取得する対象の軸の ID です。

戻り値

string

軸の名前です。

パラメータ

id :

integer

値を取得する対象のボタンの ID です。

戻り値

number

01 の間の値として表される、ボタンの現在の値です。

パラメータ

id :

integer

名前を取得する対象のボタンの ID です。

戻り値

string

コントローラに対して設定されているロケールでのボタンの名前です。

これは、通常はキーボード コントローラの場合にのみ役立ちます。

パラメータ

id :

integer

名前を取得する対象のボタンの ID です。

戻り値

string

ボタンの名前です。または、一致する ID を持つボタンが見つからない場合は空の文字列です。

パラメータ
この関数はパラメータを受け入れません。
戻り値

integer

コントローラの軸の数です。

パラメータ
この関数はパラメータを受け入れません。
戻り値

integer

コントローラのボタンの数です。

パラメータ

id :

integer

テストするボタンの ID です。

戻り値

boolean

プレイヤーがこのフレームの間にそのボタンを放した場合は true、それ以外の場合は false を返します。

デッド ゾーン

「デッド ゾーン」は、コントローラによって読み取られた入力値がゼロに固定される領域です。

サムスティックなどのコントローラが古くなったり緩んでくると、「停止」位置でプレイヤーがアクティブにコントローラを押していなくても、小さい入力値がゲーム エンジンに送信される可能性があります。これにより、継続的に回転またはスライドするキャラクタやカメラなどの視覚的なアーティファクトが生じる可能性があります。

デッド ゾーンは、入力値に最小しきい値を適用することでこの問題を緩和します。そのしきい値より小さい値は、プレイヤーからの意図的な入力ではなくノイズとみなされます。

この円の内側にある入力値は無視されます。

この四角形の内側にある入力値は無視されます。

エンジンは、コントローラから読み取られた生の入力値を提供します。

パラメータ

id :

integer

デッド ゾーン値を取得する対象の軸の ID です。

戻り値

integer

指定された軸についてコントローラから読み取られた値にアクセスするときに適用されるデッド ゾーンの種類を指定します。この値は、デッド ゾーン モード定数のいずれかです。

number

コントローラから読み込まれた値に適用するデッド ゾーンのサイズです。

パラメータ

id :

integer

既定のデッド ゾーンが設定される軸の ID です。

dead_zone_mode :

integer

コントローラから読み取られた値を返す前に適用されるデッド ゾーンの種類を指定します。この値は、デッド ゾーン モード定数のいずれかです。

dead_zone_size :

number

コントローラから読み取られた値に適用するデッド ゾーンのサイズです。

戻り値
この関数は値を返しません。

関数呼び出しでデッド ゾーン設定を指定せずに axis() を呼び出してコントローラの軸の入力値を取得すると、これらの既定のデッド ゾーンの値が呼び出されます。

キーストローク

このグループ内の定数は、keystrokes() 関数によって返されるテーブル内の文字以外のキーを表しています。

BACKSPACE : integer

[Backspace]キーを表します。

DELETE : integer

[Delete]キーを表します。

DOWN : integer

下矢印キーを表します。

END : integer

[End]キーを表します。

ENTER : integer

[Enter]キーを表します。

ESCAPE : integer

[Esc]キーを表します。

F1 : integer

[F1]キーを表します。

F10 : integer

[F10]キーを表します。

F11 : integer

[F11]キーを表します。

F12 : integer

[F12]キーを表します。

F2 : integer

[F2]キーを表します。

F3 : integer

[F3]キーを表します。

F4 : integer

[F4]キーを表します。

F5 : integer

[F5]キーを表します。

F6 : integer

[F6]キーを表します。

F7 : integer

[F7]キーを表します。

F8 : integer

[F8]キーを表します。

F9 : integer

[F9]キーを表します。

HOME : integer

[Home]キーを表します。

INSERT : integer

[Insert]キーを表します。

LEFT : integer

左矢印キーを表します。

PAGE_DOWN : integer

[Page Down]キーを表します。

PAGE_UP : integer

[Page Up]キーを表します。

RIGHT : integer

右矢印キーを表します。

TAB : integer

[Tab]キーを表します。

UP : integer

上矢印キーを表します。

ランブル

エンジンには、サポートするデバイス上で特定の強さと時間のランブル パルスを再生できるようにする、ランブル エフェクト システムが組み込まれています。

ランブル エフェクト システムを使用する際に必要なことは、ランブル エフェクトを開始するために rumble_effect()を 1 回呼び出すだけです。エンジンはランブルの調節を行い、その時間の終了時にランブルをフェード アウトします。複数のランブル エフェクトが再生されている場合は、それらのエフェクトが追加されます。

ランブル エフェクトはシンセサイザの音に類似しています。これは、ADSR エンベロープ(http://en.wikipedia.org/wiki/Synthesizer#ADSR_envelope を参照)内で再生される正弦波です。

ランブルをさらに詳細にコントロールする必要がある場合は、代わりに set_rumble()メソッドを使用できます。そのメソッドを使用すると、各モーターのランブル強度を直接設定できます。このメソッドを使用する場合、ランブルのフェード アウト、および必要な変更の適用は、ユーザが行うことに注意してください。

rumble_effect()set_rumble()の両方を使用すると、値は加算されます。

このカテゴリ内の関数は、ランブル モーターが含まれている入力コントローラ(コンソール ゲームパッドなど)の場合にのみ役立ちます。

ランブル モーター名です。

ランブル モーターの名前は、次のとおりです。

Xbox One コントローラ:

  • left
  • right
  • left_trigger (Xbox One で実行されている場合にのみ使用可能。Windows では使用不可)
  • right_trigger (Xbox One で実行されている場合にのみ使用可能。Windows では使用不可)

PlayStation 4 コントローラ:

ランブル設定は、PlayStation 4 の場合、つまり、Windows で PlayStation 4 コントローラを使用しているのではなく PlayStation 4 で実行されている場合にのみ使用できます。

  • small
  • large
パラメータ

motor_id :

integer

テストするランブル モーターの ID です。

ID :

integer

ランブル エフェクトの ID です。

戻り値

boolean

指定された ID を持つランブル イベントが rumble_effect()を呼び出すことにより作成され、そのエフェクトが再生されている場合は true、それ以外の場合は false を返します。

パラメータ
この関数はパラメータを受け入れません。
戻り値

integer

コントローラ内のランブル モーターの数です。

パラメータ

motor_id :

integer

アクティブにするランブル モーターの ID です。

params :

input_rumble_params

新しいランブル エフェクトの詳細設定を提供するテーブルです。

戻り値

integer

新しく作成されたランブル エフェクトの ID です。

パラメータ

motor_name :

string

ID を取得するランブル モーターの名前です。

戻り値

integer?

ランブル モーターの ID、または該当するモーターが存在しない場合は nil です。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
パラメータ

motor_id :

integer

名前を取得するランブル モーターの ID です。

戻り値

string

ランブル モーターの名前です。

パラメータ

motor_id :

integer

アクティブにするランブル モーターの ID です。

value :

number

0 (ランブルなし)と 1 (最強)の間の値として表される、設定するランブルの強さです。

戻り値
この関数は値を返しません。

ランブルは、再度 set_rumble()を呼び出すかまたは rumble_effect()を呼び出すことにより変更されるまでは、同じ強さで継続します。

パラメータ

do_rumble :

boolean

このコントローラでランブル エンジンを有効にする場合は true、ランブルを無効にする場合は false を使用します。

戻り値
この関数は値を返しません。
パラメータ

motor_id :

integer

非アクティブにするランブル モーターの ID です。

戻り値
この関数は値を返しません。
パラメータ

motor_id :

integer

非アクティブにするランブル モーターの ID です。

ID :

integer

ランブル エフェクトの ID です。

戻り値
この関数は値を返しません。

廃止予定の関数

代わりにこれらの関数の _id バージョンを使用します。

パラメータ

name :

string

ID を取得する対象の軸の名前。

戻り値

integer

軸のインデックス、または一致する名前を持つ軸が見つからない場合は nil です。

軸は、インデックスではなく ID で参照する必要があります。代わりに axis_id()を使用してください。

パラメータ

name :

string

ID を取得する対象のボタンの名前です。

戻り値

integer

ボタンのインデックス、または一致する名前を持つボタンが見つからない場合は nil です。

ボタンは、インデックスではなく ID で参照する必要があります。代わりに button_id()を使用してください。

パラメータ

motor_name :

string

ID を取得するランブル モーターの名前です。

戻り値

integer?

ランブル モーターのインデックス、または該当するモーターが存在しない場合は nil です。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。

ランブル モーターは、インデックスではなく ID で参照する必要があります。代わりに rumble_motor_id()を使用してください。

PlayStation 4 のパッド

このカテゴリ内の関数は、PlayStation 4 のパッドに対してのみ使用できます。

PlayStation 4 のユーザはパッドにログインできることに注意してください。ゲームが単一プレイヤーのゲームとして指定されていない限り、ユーザはいつでもログインおよびログアウトできます。したがって、変動をポーリングするためにメイン ループ内で user_id()を呼び出す必要があります。

パラメータ

color :

color

ライト バーの新しいカラーです。

戻り値
この関数は値を返しません。

PlayStation 4 で実行されているゲーム内で PlayStation 4 のパッドでのみ使用できます。