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

stingray.TouchPanel2 ネームスペース リファレンス

説明

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

プラットフォームでサポートされる各タッチ パネルには、個別の TouchPanel オブジェクト(TouchPanel1TouchPanel2、... TouchPanelN)があります。

Windows プラットフォームでは、SimulatedTouchPanel1 インタフェースを使用して、マウスを使用したタッチ パネル入力をシミュレートすることができます。

Android

Android ボタン名

  • leftright: soft left ボタンと soft right ボタン
  • homebackcallend_callvolume_upvolume_down
  • dpad_updpad_downdpad_leftdpad_rightdpad_center
  • media_play_pausemedia_rewindmedia_fast_forward

Android 軸名

  • accelerometer: X、Y、Z 軸上で加速度計によって計測されたフォース値です。

iOS

iOS ボタン名

なし。

iOS 軸名

  • accelerometer: X、Y、Z 軸上で加速度計によって計測されたフォース値です。

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

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

  • 各ボタンは、任意のフレームで押す、または放すことができます。これらのイベントは、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 を、値を確認する対象のコントローラの名前で置き換えてください。

タッチの接触から値を取得する

すべてのタイプのコントローラによって提供されるボタンと軸に加え、タッチ パネルには、プレイヤーがスクリーンをタッチしている場所を表す「接触」のセットが維持されます。これらの接触は数値の ID によって識別されます。これは、contacts() を呼び出すことで取得できます。次に、以下の接触の下にリストされている他の関数に ID を渡すことによって、各接触に関する詳細についてクエリーすることができます。

接触型インタフェースの位置の値は、ピクセル単位で計測された、スクリーン空間座標として提供されます。

たとえば、location() を呼び出して、接触位置の(X,Y)画面座標を取得できます。

local contacts = {stingray.TouchPanel1.contacts()} -- the {} puts the return values into a table
for _, id in ipairs(contacts) do
    if stingray.TouchPanel1.is_touch_down(id) then       -- when the screen is touched
        local pos = stingray.TouchPanel1.location(id)    -- get the position
    end
end

関数

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

stingray.Vector3

コントローラのアクセラレータの解像度です。

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

boolean

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

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

boolean

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

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

boolean

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

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

string

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

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

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

string

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

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

ボタンと軸

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

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

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

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

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

integer

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

パラメータ

id :

integer

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

戻り値

boolean

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

パラメータ

id :

integer

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

戻り値

boolean

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

接触

このグループの関数は、タッチ コントローラから指の接触データを取得するために使用されます。

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

integer*

すべての現在の接触のインデックスを返します。

* の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。
パラメータ

contact_id :

integer

テストする接触の ID です。

戻り値

string?

タッチ パネルの端がこの接触の発生元となっている場合、この文字列は TOPBOTTOMRIGHT、または LEFT のいずれかの値です。この接触の発生元が端でない場合、または端の検出がこのデバイスによってサポートされていない場合、この関数は nil を返します。

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

Android プラットフォームのみで使用できます。

パラメータ

contact_id :

integer

テストする接触の ID です。

戻り値

boolean

接触が存在する場合は true を返し、それ以外の場合は false を返します。

パラメータ

contact_id :

integer

テストする接触の ID です。

戻り値

boolean

接触が一次的なものである場合は、true を返します。

パラメータ

contact_id :

integer

テストする接触の ID です。

戻り値

boolean

接触がこのフレームで開始された場合は true を返します。

パラメータ

contact_id :

integer

テストする接触の ID です。

戻り値

boolean

接触がこのフレームで解放された場合は true を返します。

パラメータ

contact_id :

integer

テストする接触の ID です。

戻り値

stingray.Vector3

接触の現在の位置の X,Y 座標です。

パラメータ

contact_id :

integer

テストする接触の ID です。

戻り値

stingray.Vector3

このフレーム内での接触の X,Y 座標の変化です。

パラメータ

contact_id :

integer

テストする接触の ID です。

戻り値

number

主軸上の指定した接触のサイズ(ピクセル単位)です。

Android プラットフォームのみで使用できます。

パラメータ

contact_id :

integer

テストする接触の ID です。

戻り値

number

副軸上の指定した接触のサイズ(ピクセル単位)です。

Android プラットフォームのみで使用できます。

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

integer

現在アクティブなタッチの接触数です。

パラメータ

contact_id :

integer

テストする接触の ID です。

戻り値

number

タッチ パネルの指定した接触の圧力です。

Android プラットフォームのみで使用できます。

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

stingray.Vector3

コントローラの入力座標の解像度です。

これは通常、X 軸および Y 軸上のピクセルに 1:1 でマッピングされます。Z 座標には、接触の最大圧力値が含まれています。

パラメータ

contact_id :

integer

テストする接触の ID です。

戻り値

number

指定した接触のサイズです。

これは、デバイスが検出できる、考えられる最大のタッチの接触を基準にして正規化された値です。考えられる最小の正規化サイズは 0.0 (接触なし、または測定不可能)で、考えられる最大の正規化サイズは 1.0 (センサ領域が飽和状態)です。Android プラットフォームのみで使用できます。

ジェスチャ

このグループの関数は、タッチ コントローラからジェスチャ データを取得するために使用されます。

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

stingray.Vector2?

長押しジェスチャが開始された位置を返します。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
パラメータ
この関数はパラメータを受け入れません。
戻り値

boolean?

最後のフレームでジェスチャが開始したかどうかを返します。

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

boolean?

最後のフレームでジェスチャが終了したかどうかを返します。

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

stingray.Vector2?

ジェスチャが開始された中心位置を返します。

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

number?

ピンチ ジェスチャの現在のスケール値を返します。

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

number?

ピンチ ジェスチャの現在の scale_per_second を返します。

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

低フレームレートのときには、同一の呼び出しの開始および終了の両方で true が返される可能性があります。

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

boolean?

最後のフレームでジェスチャが開始したかどうかを返します。

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

boolean?

最後のフレームでジェスチャが終了したかどうかを返します。

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

stingray.Vector2?

ジェスチャが開始された中心位置を返します。

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

number?

ジェスチャの合計の累積回転値(ラジアン)を返します。

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

number?

ジェスチャの現在の 1 秒ごとの値を返します。

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

低フレームレートのときには、同一の呼び出しの開始および終了の両方で true が返される可能性があります。

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

stingray.SwipeDirection?

スワイプの方向を返します。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
パラメータ
この関数はパラメータを受け入れません。
戻り値

stingray.Vector2?

連続しない最新のタップ位置を返します。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
パラメータ
この関数はパラメータを受け入れません。
戻り値

number?

後続のタップの数を返します。(iOS で 2 ~ 5、Android では無制限)

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

stingray.Vector2?

最新のタップ位置を返します。

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

廃止予定の関数

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

パラメータ

name :

string

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

戻り値

integer

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

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

パラメータ

name :

string

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

戻り値

integer

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

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