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

説明

マウスを表すグローバル シングルトンです。

マウス ボタンの名前

  • leftrightmiddle: 主なマウス ボタンの 1 回のクリックを示します。
  • extra_1extra_2: 追加のマウス ボタンがある場合、その追加のボタンでの 1 回のクリックを示します。
  • left_doubleright_doublemiddle_doubleextra_1_doubleextra_2_double: マウス ボタンでのダブル クリックを示します。
  • wheel_up: マウス ホイールが上方向に(つまり、前、またはプレイヤーから離れるように)回ることを示します。
  • wheel_down: マウス ホイールが下方向に(つまり、後ろ、またはプレイヤーに向かって)回ることを示します。
  • wheel_left: マウス ホイールが左に回ることを示します。
  • wheel_right: マウス ホイールが右にロールされていることを示します。

マウス軸名

  • mouse: (X,Y) の画面座標により、前のフレームからのマウスの位置の差を示します。
  • wheel: マウス ホイールの動きを示します。Y 軸上の正の数は上方向に(つまり、前、またはプレイヤーから離れるように)スクロールすることを示します。Y 軸上の負の数は下方向に(つまり、後ろ、またはプレイヤーに向かって)スクロールすることを示します。X 軸上の正の数は右にスクロールすることを示します。X 軸上の負の数は左にスクロールすることを示します。ベクトルの X および Y 要素の絶対値が大きいほど、ホイールは速くスクロールします。
  • cursor: 画面座標でのマウス カーソルの(X,Y)位置を示します。

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

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

  • 各ボタンは、任意のフレームで押す、または放すことができます。これらのイベントは、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 を持つ軸に対するコントローラの入力値です。

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

パラメータ

id :

integer

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

戻り値

number

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

パラメータ

name :

string

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

戻り値

integer

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

パラメータ

id :

integer

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

戻り値

string

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

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

パラメータ

id :

integer

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

戻り値

string

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

パラメータ

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 のパッドでのみ使用できます。