Windows で接続されている 4 番目の PS4 ゲーム パッドを表すグローバル シングルトンです。
Windows でサポートされる各 PS4 ゲーム パッドには、別々のパッド オブジェクト(PS4Pad1, PS4Pad2, ... PS4PadN)があります。
注: PS4Pad インタフェースは、Windows 上で実行されるゲームにのみ使用されます。PlayStation 4 で実行されるゲーム向けに、ネイティブ コンソールのゲーム パッドは、Pad1 ~ Pad4 インタフェースを代わりに使用して表されます。
起動後に PC に接続された新しい PS4 コントローラは、自動的に検出されます。stingray.Application.scan_for_windows_ps4_controllers() を使用して、コントローラが接続されているかどうかを検出します。
- triangle、circle、cross、square
- l1 と r1: 左右のトリガー ボタンです。
- l2 と r2: 左右のトリガー ボタン(アナログ)です。
- l3 と r3: 方向移動ではなく、左右のサムスティックが押し込まれたときを示します。
- up、right、down、left
- options、share、ps
- touch: タッチパッドに触れているかどうかを示します。
- dpad: 軸として表される方向パッドです。
- left と right: サムスティックの左右の方向です。
すべてのタイプの入力コントローラには名前付きボタンおよび「軸」の組み込みセットがあり、これらによりユーザがコントローラに入力を提供するさまざまな方法を表します。
- 各ボタンは、任意のフレームで押す、または放すことができます。これらのイベントは、pressed()および released()を呼び出すことで検出できます。また、コントローラは、そのボタンについて 0 と 1 の間の値を生成します。これは、button()を呼び出すことで取得できます。
- 各軸について Vector3 を生成できます。場合により、この値は正規化されます。通常は、軸が何らかの種類のスケールに沿った変数値を示している場合です(プレイヤーがサムスティックを押している方向など)。たとえば、ゲーム パッドのサムスティックの押し方は、左いっぱい(1,0,0)、上いっぱい(0,1,0)、左上に直角(0.707107, 0.707107, 0)などです。または、場合により、軸は 3D 空間または 2D スクリーン空間の座標値を生成します。
キーボードのボタン[k]が押されたかどうかを確認するには、次のようにします。
同様に、2D スクリーン空間における Windows マウス カーソルの現在位置を取得するには、次のようにします。
または、プレイヤーがゲーム パッドで右のサムスティックを押している方向を取得するには、次のようにします。
クエリーできるボタンおよび軸の名前は各種コントローラで異なり、さまざまなプラットフォームで異なる可能性もあります。デバイスで使用可能なボタンを確認する必要がある場合は、エディタのステータス バーまたはゲーム プロジェクトで次のコード スニペットを実行することで、現在のリストを取得できます。Mouse を、値を確認する対象のコントローラの名前で置き換えてください。
|
コントローラがアクティブであるかどうか、つまり接続されていて予期したとおりに動作しているかどうかを示します。
|
パラメータ 戻り値 boolean |
コントローラがアクティブである場合は true、それ以外の場合は false を返します。
|
|
このコントローラが該当する入力デバイスのカテゴリを説明する文字列を返します。
|
パラメータ 戻り値 string |
gamepad、touch_panel、mouse、または keyboard のいずれかの値です。
|
|
コントローラがこのフレームにアタッチされているかどうかを示します。
|
パラメータ 戻り値 boolean |
コントローラがこのフレームにアタッチされている場合は true、それ以外の場合は false を返します。
|
|
コントローラがこのフレームから接続解除されているかどうかを示します。
|
パラメータ 戻り値 boolean |
コントローラがこのフレームから接続解除されている場合は true、それ以外の場合は false を返します。
|
|
コントローラの一意の名前を返します(例: 「Xbox Controller 1」)。
|
パラメータ 戻り値 string |
コントローラの一意の名前が含まれている文字列です。
|
ほとんどの場合、この名前は type()で返される文字列の変形にカウンタを追加したものです。
|
このコントローラで使用されるハードウェア デバイスの説明を返します。
|
パラメータ 戻り値 string |
コントローラ デバイスの種類を説明する文字列です。
|
この識別子は、同じモデルのすべてのコントローラで同じになります(いくつかの例外はあります)。たとえば、xbox_controller、logitech_mx518_mouse、 generic_105_key_keyboard などです。この値は、いくつかのプラットフォームでは入力デバイス モデルには関係なく同じになる場合があることに注意してください。
|
パッドを使用しているユーザのユーザ ID を返します。
|
パラメータ 戻り値 integer? |
パッドを使用しているユーザの Xbox Live または PSN ID、またはパッドに接続しているユーザがいない場合は nil です。
? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
PlayStation 4 および Xbox One で実行されているゲームでのみ使用でき、Windows では使用できません。
このグループ内の関数は、このコントローラによって追跡されるボタンと軸からの値の取得に関連しています。
|
現在のフレームでプレイヤーがいずれかのボタンを押したかどうかを示します。
|
パラメータ 戻り値 integer? |
プレイヤーがこのフレームで押した最初のボタンの ID、またはプレイヤーがいずれのボタンも押さなかった場合は nil です。
? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
その場合、プレイヤーが押した最初のボタンの ID を返します。
|
プレイヤーが現在のフレームでいずれかのボタンを放したかどうかを示します。
|
パラメータ 戻り値 integer? |
プレイヤーがこのフレームで放した最初のボタンの ID、またはプレイヤーがいずれのボタンも放さなかった場合は nil です。
? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
その場合、プレイヤーが放した最初のボタンの ID を返します。
|
axis ( id, dead_zone_mode, dead_zone_size ) : stingray.Vector3
コントローラの 1 つの軸の入力値を返します。
|
パラメータ id : | integer | 値が取得される軸の ID です。 |
dead_zone_mode : | integer? | コントローラから読み込まれた値を返す前に適用するデッド ゾーンの種類を指定します。この値は、デッド ゾーン モード定数のいずれかです。このパラメータを指定する場合は、dead_zone_size も指定する必要があります。省略した場合は、[InputController.set_dead_zone()] を使用して設定した既定のデッド ゾーン値が使用されます。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
dead_zone_size : | number? | コントローラから読み込まれた値に適用するデッド ゾーンのサイズです。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
戻り値
デッド ゾーンの環境設定コントロールは、非接触型インタフェースの場合にのみ使用できることに注意してください。
|
コントローラ内の指定された名前を持つ軸の ID を取得します(ある場合)。
|
パラメータ name : | string | ID を取得する対象の軸の名前。 |
戻り値 integer |
軸の ID、または一致する名前を持つ軸が見つからない場合は nil です。
|
|
コントローラ内の指定された ID を持つ軸の名前を取得します。
|
パラメータ id : | integer | 名前を取得する対象の軸の ID です。 |
戻り値
パラメータ id : | integer | 値を取得する対象のボタンの ID です。 |
戻り値 number |
0 と 1 の間の値として表される、ボタンの現在の値です。
|
パラメータ name : | string | ID を取得する対象のボタンの名前です。 |
戻り値 integer |
ボタンの ID、または一致する名前を持つボタンが見つからない場合は nil です。
|
パラメータ id : | integer | 名前を取得する対象のボタンの ID です。 |
戻り値 string |
コントローラに対して設定されているロケールでのボタンの名前です。
|
これは、通常はキーボード コントローラの場合にのみ役立ちます。
パラメータ id : | integer | 名前を取得する対象のボタンの ID です。 |
戻り値 string |
ボタンの名前です。または、一致する ID を持つボタンが見つからない場合は空の文字列です。
|
|
コントローラの軸の数を返します。
|
|
プレイヤーがこのフレームの間に指定された ID を持つボタンを押したかどうかを示します。
|
パラメータ id : | integer | テストするボタンの ID です。 |
戻り値 boolean |
プレイヤーがこのフレームの間にそのボタンを押した場合は true、それ以外の場合は false を返します。
|
|
プレイヤーがこのフレームの間に指定された ID を持つボタンを放したかどうかを示します。
|
パラメータ 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()の両方を使用すると、値は加算されます。
このカテゴリ内の関数は、ランブル モーターが含まれている入力コントローラ(コンソール ゲームパッドなど)の場合にのみ役立ちます。
ランブル モーターの名前は、次のとおりです。
- left
- right
- left_trigger (Xbox One で実行されている場合にのみ使用可能。Windows では使用不可)
- right_trigger (Xbox One で実行されている場合にのみ使用可能。Windows では使用不可)
ランブル設定は、PlayStation 4 の場合、つまり、Windows で PlayStation 4 コントローラを使用しているのではなく PlayStation 4 で実行されている場合にのみ使用できます。
|
指定されたランブル イベントが指定されたモーターで再生されているかどうかを示します。
|
パラメータ motor_id : | integer | テストするランブル モーターの ID です。 |
ID : | integer | ランブル エフェクトの ID です。 |
戻り値 boolean |
指定された ID を持つランブル イベントが rumble_effect()を呼び出すことにより作成され、そのエフェクトが再生されている場合は true、それ以外の場合は false を返します。
|
|
この種類のコントローラでサポートされるランブル コントローラの数を取得します。
|
パラメータ 戻り値 integer |
コントローラ内のランブル モーターの数です。
|
|
指定されたモーターで新しいランブル エフェクトを開始します。
|
パラメータ motor_id : | integer | アクティブにするランブル モーターの ID です。 |
params : | input_rumble_params | 新しいランブル エフェクトの詳細設定を提供するテーブルです。 |
戻り値 integer |
新しく作成されたランブル エフェクトの ID です。
|
|
指定された名前を持つランブル モーターの ID を取得します。
|
パラメータ motor_name : | string | ID を取得するランブル モーターの名前です。 |
戻り値 integer? |
ランブル モーターの ID、または該当するモーターが存在しない場合は nil です。
? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
|
指定された ID を持つランブル モーターの名前を取得します。
|
パラメータ motor_id : | integer | 名前を取得するランブル モーターの ID です。 |
戻り値
|
指定されたモーターで新しいランブル エフェクトを開始します。
|
パラメータ 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 のユーザはパッドにログインできることに注意してください。ゲームが単一プレイヤーのゲームとして指定されていない限り、ユーザはいつでもログインおよびログアウトできます。したがって、変動をポーリングするためにメイン ループ内で user_id()を呼び出す必要があります。
|
コントローラのライト バーを指定されたカラーに設定します。
|
パラメータ color : | color | ライト バーの新しいカラーです。 |
戻り値
PlayStation 4 で実行されているゲーム内で PlayStation 4 のパッドでのみ使用できます。