Unityでゲームを製作しています。
Canvas上にボタンを配置し、クリック時にメソッドを呼び出すように設定したのですが、ゲームビューで実際に押してみるとメソッドが呼び出されてくれません。
EventSystemはちゃんとありますし、ボタンのInteractableもtrueで、OnClick()の設定も間違えていないはずです(RunTimeOnly→オブジェクトを指定→アッタッチされているスクリプト内のメソッドを指定)。
確認のために呼び出すメソッドの内容もDebug.Logだけにしたのでこれも問題ないと思います。
押したときにPressedColorに遷移しているので、押されたことになっていない訳でもなさそうです。
ほかのプロジェクトでは問題なく使えていたので原因がわかりません。
何か見落としがあるのでしょうか?
Unityのバージョンは5.6.3p2 Personalです。
追記:ボタンのコンポーネントとスクリプトです。
スクリプトの中に使用していない変数が定義されていますが、不具合の原因を探るためにメソッドの中身をDebug.Logだけにした名残です。
Buttonコンポーネントのスクリーンショットとスクリプトを提示してもらえると解決出来るかもしれません。
追記以下に貼り付けました。再度確認したのですが、EventSystemはちゃんとあるし、コンソールにエラーも警告も出ませんでした。
これだけなら問題は無さそうですね……あと考えられるとしたら、別のボタンオブジェクトが存在し、そのオブジェクトがこのオブジェクトに重なっている(そしてこのオブジェクトのImageを参照しているので押したように見える)というケースでしょうか……
確認してきました、そういうわけでも無さそうです。このプロジェクト自体が作り始めたばかりでモノが少ないんです。試しにシーンにボタンを一つだけ置いて試してみたのですが、やはりOnClickは呼び出されませんでした…
となると原因不明です……ボタンを作り直してみる、プロジェクトを作り直してみる、ぐらいしか思い付かないです、申し訳ありません。
そうですか…こちらでもいろいろ試してみますね、回答ありがとうございました。