質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

0回答

274閲覧

Unityでスクロールビューの中に配置したボタンがマウスのクリックには反応するが、スマホのタップだとボタンは押せているのに反応が無い

Tora_ou

総合スコア3

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

1クリップ

投稿2025/05/18 16:55

編集2025/05/19 04:22

実現したいこと

Unityでスクロールビューの中に配置してあるボタンがマウスのクリックには反応するが、スマホのタップだと押せているのに反応が無くて、タップした時にも反応するようにしたい

発生している問題・分からないこと

スクロールビューの外にあるボタンが複数あってそのどれもがマウスのクリック、スマホのタップ、どちらにも問題無く反応しています。
スクロールビュー外にあるクリック、タップのどちらにも反応していたボタンをスクロールビューの中にコピーしただけでタップだけに反応しなくなった事、スクロールビューの中にあるボタンはスクロールビューの外からコピーしてきたボタンも、元から有るボタンも、その全てがクリックには反応するがタップには反応しない事からスクロールビューの中に配置してある事が原因だと断定してます。

「タップには反応しない」と書いてますがタップでもボタン自体は押せていて(ボタンを押した時の色の変化は有る)
タップにも反応はしているのだが onClick( ) が呼び出せていない、ようです。
スクロールビューの中にあるボタンをタップにも反応させたい ※onClick( ) を呼び出したいのですが何か改善策が有りますでしょうか?

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

検索したら同じような問題に出くわした方々の解決策がいくつか出てきたのですがそれらによれば
・ 該当のボタンに空のEventTriggerを追加するだけで解決した
→→ダメ。タップが反応しないだけはなく、ボタン部分だとスワイプまで出来なくなってしまった。
・Hierarchy上にあるEventSystemの「EventSystem→Drag Threshold」の値を30程度に増やす
→→ダメ。クリックは出来るがタップが効かないのは変わらなかった。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tora_ou

2025/05/19 14:44

あれから一日色々試してみますが有効な解決策は未だ見つからず、ですが クリックだけなら全く問題無いのですが今時スマホのタップ操作が効かないのを無視出来ません。 どうやら挙動としてはスクロールビュー内にあるボタンをタップしているつもりがスワイプと勘違いされてタッチ直後にクリック動作無効に判定されてしまっている、というのが原因のようです。 たしかにこれだとボタンは押せている(ボタン色の変化は有る)状態で スクロールビューが動かせる、しかしボタンを押した時の onClick( ) が呼び出せない という状態と一致します。 Inspector の onClick( ) を使うのを止めて、スクリプトのほうにタップ後の処理を書いてみましたがそれもダメでした。 スクロールビュー内にあるボタンをタップしたいというのはよく有る事だと思うんですがそれが動かない仕様なのは不思議です。 今思いついてる解決策としてはスクロールビュー内ではUnityの標準ボタンを使わない事、というのが強引ですが解決策になりそうです。
Tora_ou

2025/05/20 02:24

スクロールビュー内でUnityの標準ボタンを使うのは禁忌 理由はそのままでは一切ボタンがタップ出来ないから、という結論で良さそうです
fiveHundred

2025/05/20 06:07

私の環境(2022.3.60f1)だと、スクロールビュー内のボタンが反応しないなんてことはなかったです。 あと、それよりかなり昔でうろ覚えですが、スクロールビュー内のUIが動作しないケースがあり、スクロールビューから作り直すとなぜか直ったなんてこともありました。 他の人が再現できるかどうか確かめられるという点でも、一度空のプロジェクトでスクロールビューから作り直し、その場合でも動作しなかった場合は、手順を質問文に追記する、といったことを行うのはどうでしょうか。
Tora_ou

2025/05/20 15:04

>>スクロールビュー内のUIが動作しないケースがあり、スクロールビューから作り直すとなぜか直ったなんてこともありました。 結局直せなかったのですが、解決方法はまさにこれでした。スクロールビューから全部作り直す事。 原因も直し方も不明のままですが、全部作り直したらスクロールビューの中身がタップにも反応するようになりました。 クリックは通常通りに効いているので制作中は気付きにくい現象ですが スクロールビューが有る場合はその中身にタップが効いているのかどうかのテストを早い段階で行っておくべきですね。
Tora_ou

2025/05/21 05:23

UI→ボタン(TextMeshPro)で作ったボタンがクリックは問題無いけどスマホのタッチだと ボタンに貼ってある onclick() が呼び出せない、症状がまた出ました。 ボタンを消して再度作り直せば改善したけど原因不明でどうしようもないので 今後はボタンを新規に作ったらそのボタンがタッチにもちゃんと反応するボタンなのかどうかをまず最初にテストしておかないと後になってからタッチだけ効かない事が発覚して困る感じです。 タッチが効くかどうかのチェックって実際に動かしてみる段階になってから気付くことになるのでそこで気付いてから直すのはかなり面倒なんですよね・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問