Unity本の作例改造-Chapter3-8:リトライボタンをクリックしてゲームをリセットする

明けましておめでとうございます!本年はちゃんとゲームを公開できるよう頑張ります!

Free Image on Pixabay

Unityの入門書で通称”ヒヨコ本”として親しまれている”Unity5入門 最新開発環境による簡単3D&2Dゲーム制作 “の作例に色々とゲーム要素を追加してオリジナルゲームに仕上げる内容を連載をしています。


Chapter1:Unityの概要と基礎知識
Chapter2:インターフェイスと使い方
Chapter3:Unityを使ってみよう!
Chapter4:キャラクターを動かしてみよう!
Chapter5:ゲームのUIを作ってみよう!
Chapter6:ゲームを作ろう!(1)
Chapter7:ゲームを作ろう!(2)
Chapter8:2D機能を使ってみよう!

リトライボタンをクリックしたらゲームオーバー画面を非表示にする

前回は”ゲームオーバー画面を表示する“手順を行いました。今回はゲームオーバー画面でリトライボタンをクリックしてゲームをリセットするようにしたいと思います。
まずは、リトライボタンをクリックしたらゲームオーバー画面を非表示にする設定を行います。

スクリプトの作成

[Hierarchy]ウィンドウ > Canvasを選択。
[Inspector]ウィンドウ > [Add Component]ボタン > New Script を選択。
下記の通りに設定。
Name: PanelGameOver / Language: C Sharp

[Create and Add]ボタンをクリック。[Project]ウィンドウに作成したスクリプト”PanelGameOver”が表示されていることを確認しておきます。
スクリプト”PanelGameOver”をダブルクリックしてエディターを起動。下記のコードを入力します。

スクリプト”PanelGameOver”の変数”panelGameOver”にゲームオーバー画面UIオブジェクト割り当てる

[Hierarchy]ウィンドウ > Canvas を選択。
[Inspector]ウィンドウ > PanelGameOver (Script) > Panel Game Over フィールドの右側にある◎ボタンをクリック。ファイル選択ウィンドウが開いたら”Panel GameOver”オブジェクトをダブルクリックで選択して割り当てます。

リトライボタンをクリックしたらスクリプトを実行する設定をする

[Hierarchy]ウィンドウ > Canvas > Panel GameOver > Button Retry を選択。

[Inspector]ウィンドウ > Button (Script) > On Click () パネル右側の[+]をクリック。

左側のフィールドに[Hierarchy]ウィンドウ > Canvas をドラッグして割り当てます。

On Click () パネル右側の[No Function] > ButtonRetry > StarScene () を選択します。

動作確認

設定ができたので動作確認してみます。リトライボタンをクリックするとゲームオーバー画面が非表示になり…ません。
よく考えたらゲームオーバー画面表示の条件となっている変数の値がそのままなのでゲームオーバー画面の非表示、表示の処理がループしているようです。

リトライボタンをクリックしたら変数の値を初期化する

リトライボタンをクリックしたらゲームオーバー画面表示の条件となっている変数の値を初期化する処理を追加しましょう。

スクリプト”Manager”の編集

スクリプト”Manager”をダブルクリックしてエディターを起動。下記のコードのマーカー部分が修正箇所になります。

リトライボタンをクリックしたらスクリプト”Manager”の処理”Initialize”実行する設定をする

スクリプト”Manager”に追加した処理をリトライボタンで実行します。
[Hierarchy]ウィンドウ > Canvas > Panel GameOver > Button Retry を選択。[Inspector]ウィンドウ > Button (Script) > On Click () パネル右側の[+]をクリック。

左側のフィールドに[Hierarchy]ウィンドウ > Manager をドラッグして割り当てます。

On Click () パネル右側の[No Function] > Manager > Initialize () を選択します。

動作確認

ここまでの内容をWebGLでビルドしてみました。ゲームオーバー画面でリトライボタンをクリックするとゲームオーバー画面が非表示になり、ゲームがリセットできました。

スポンサーリンク
スポンサーリンク

スポンサーリンク

フォローする