ヘケケの模索生活

ゲーム関係のことを書いています。ストラテジーやシミュレーション系のゲームが好きなのでそういったゲームの記事が中心です。unityを使ったアプリ開発や一人海外旅行をした時のこともたまに書いたりします。

【Unity】UIをタップした際にUI以外のタップ処理を無効化する

UIをタップした際にUI以外の部分をタップした時の処理も同時に実行されてしまう問題が発生したのでその対処法をメモしておこうと思います。

 

UIをタップした際に止めておきたい処理の部分に以下のコードを追加します。

 

    if (EventSystem.current.IsPointerOverGameObject())
  {
        //マウス操作の場合
        return;
    }

    if (Input.touchCount > 0 && EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId))
    {
        //実機でのタップ操作の場合
        return
    }

 

「Input.GetTouch(0).fingerId」を使用する際は 「Input.touchCount > 0 &&」

をセットで記述しないと警告が出て正しく処理されないようです。