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

説明

接続されている 2 番目のゲーム パッドを表すグローバル シングルトンです。

プラットフォームによってサポートされる各ゲーム パッド用に別々のパッド オブジェクト(Pad1Pad2、... PadN)があります。

Xbox One および PlayStation 4 では、Pad インタフェースが、そのコンソール向けのネイティブ ゲームパッド コントローラを表します。

Windows では、Pad インタフェースが、接続された Xbox コントローラを表します。任意の PlayStation 4 コントローラは、代わりに PS4Pad1 から PS4Pad4 インタフェースとして表されます。

Xbox One

次のボタンおよび軸名は、Windows と Xbox One の両方の Xbox One コントローラに使用できます。

Xbox One ボタン名

  • d_upd_downd_leftd_right: 方向パッドです。
  • startback
  • left_thumbright_thumb: 方向移動ではなく、サムスティックが押し込まれたときを示します。
  • left_shoulderright_shoulder
  • left_triggerright_trigger
  • abxy

Xbox One 軸名

  • leftright: サムスティックの左右の方向です。
  • dpad: 軸として表される方向パッドです。

PlayStation 4

次のボタンおよび軸名は、Playstation 4 で動作しているゲーム内の PlayStation 4 コントローラでのみ利用可能です。

PlayStation 4 ボタン名

  • trianglecirclecrosssquare
  • l1r1: 左右のトリガー ボタンです。
  • l2r2: 左右のトリガー ボタン(アナログ)です。
  • l3r3: 方向移動ではなく、左右のサムスティックが押し込まれたときを示します。
  • uprightdownleft: 方向パッドの別々のボタンです。
  • options

PlayStation 4 軸名

  • dpad: 軸として表される方向パッドです。
  • leftright: サムスティックの左右の方向です。
  • orientation_forwardorientation_rightorientation_up: 回転センサーの前方、右、および上方向です。
  • accelerationangular_velocity: 加速度計によって測定される加速度と回転速度です。
  • touch_1touch_2: タッチ パッドの最初の 2 つの接触点です。Vector3(x, y, id) として返されます。ここで、id はこの接触イベントを識別する整数です。何の接触もない場合、Vector3(0,0,-1) を返します。

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

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

  • 各ボタンは、任意のフレームで押す、または放すことができます。これらのイベントは、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 を返します。

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

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 の間の値として表される、ボタンの現在の値です。

パラメータ

name :

string

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

戻り値

integer

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

パラメータ

id :

integer

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

戻り値

string

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

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

パラメータ

id :

integer

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

戻り値

string

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

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

integer

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

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

integer

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

パラメータ

id :

integer

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

戻り値

boolean

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

パラメータ

id :

integer

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

戻り値

boolean

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

デッド ゾーン

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

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

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

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

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

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

パラメータ

id :

integer

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

戻り値

integer

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

number

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

パラメータ

id :

integer

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

dead_zone_mode :

integer

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

dead_zone_size :

number

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

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

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

ランブル

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

ランブル エフェクト システムを使用する際に必要なことは、ランブル エフェクトを開始するために 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 のパッドでのみ使用できます。