もくじ
https://tera1707.com/entry/2022/02/06/144447#Unity
やりたいこと
Unityの画面上にボタンを表示して、それを押したときの処理を書きたい。
やりかた
今回は、Unity Learnの「レッスン 5.3 - ゲームオーバー」で習ったやり方でやってみる。
押したときの処理を書く
いつものやり方で、オブジェクトを作って、そいつにC#スクリプトを割り当てる。
そいつに、publicなメソッドを書く。
※今回は例として、「GameManager」というオブジェクトに割り当てた「GameManager.cs」というスクリプトに、publicなメソッド「RestartGame()」というメソッドを作った。
※関係ないメソッドもたくさんあるが、今大事なのは赤枠のメソッドのみ。
ボタンを設置
まず、ヒエラルキーの何もないところで右クリックし、[UI] > [Button - TextMeshPro]を選ぶ。
追加したボタンのInspector内の「Button」コンポーネントの「On Click()」のところの右下の「+」を押す。
押すと、下図のようになる。
そこで、None(Object)
となってるところに、スクリプトを割り当てているオブジェクトをドラッグして持っていく。(今回なら「GameManager」オブジェクト)
そうすると、横の「No Function」となっているコンボボックスが選択できるようになる。
押すと、下図のようになる。
ので、そこからオブジェクト名(今回だと「GameManager」)を選び、その中にある、ボタン押下時に呼びたいメソッド名を選ぶ。
おわり
以上で、ボタンを押したときの処理を割り当てられる。