プロが教えるわが家の防犯対策術!

UnityInputSystemによるtouch入力で,context.startedが一度目しか検知されません。

ゲームビューにてテストを行うとき,一番初めにタッチしたときにのみ,started,performed,cancelledの3つのフェイズが検知されており,

それ以降のタッチではperformedが2回(press and release)検知され,startedとcancelledは検知されなくなってしまいます。

ゲームビューではtouch simulation?を有効にし,マウスクリックをタッチに模してテストを行なっています。しかし,実際にiPhoneにビルドして操作してみても上記同様,context.startedが一度目しか検知されていないようです。


PlayerInputコンポーネントをプレイヤーに付けて,画面タッチがあれば下記のC#スクリプトの_OnTouchを呼び出すようにしています。

public void _OnTouch(InputAction.CallbackContext context)
{
Debug.Log(context.phase);
}


少しでも原因として考えられるものがあれば教えていただきたいです。

また,performedが2回ではなく,1回しか呼ばれないときがしばしばありますが,TouchPressの閾値(default0.5)などが関係しているのでしょうか?

A 回答 (1件)

新しいInput Systemを使おう。



https://forpro.unity3d.jp/unity_pro_tips/2021/05 …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!