たぶん週刊「今週の進捗」

1週間に勉強したことや実装したことをネタに、週に1回(主に土日に)更新していく予定です。「多分」なので、臨時休刊があってもご海容ください。

ブロックにクリックを検知する機能をつける

表題の通り。

雑に「Unity(2D)でオブジェクトのクリックを検知する方法」をぐぐって
ヒットした以下の記事を参考にしていました。

qiita.com

カメラに Physics 2D Raycaster をアタッチして、
EventSystem を作成して、
ブロックに 2D Collier と EventTrigger をアタッチして、
呼び出す側のスクリプトに OnSortiePointClick() 関数を書いて、
EventTrigger の設定をして…と思ったのだけど、 呼び出す関数が No function になってて OnSortiePointClick() が現れない。

どういうこっちゃと思って調べてみた 。 teratail.com

あー左下のボックスにはスクリプト自身ではなくて、
スクリプトがアタッチされたオブジェクトを指定するのね…

そこんところを直して、再度やってみたらうまいこといきました。

で、そこまでやったらクリックされたブロックの情報を取得して表示させたいと思った。

nellab.seesaa.net

f:id:ZeitungM:20190722010343p:plain

できたー。

「またオブジェクトの階層構造を解剖したり、他スクリプトの参照したりしないといけないのかなぁ、
スパゲッティになるのは嫌だなぁ」と思ってたら案外かなり単純にできてすごいと思った。