HPが無くなったらゲームオーバーにする方法【知識ゼロから始めるUnity入門⑦】
- HPが無くなったらゲームオーバーになる処理が知りたい。
- ゲーム画面の切り替え方法を知りたい。
この記事はこんな方に向けて書いています。
こんにちは fab5 です♪
前回の記事ではゲーム画面にHPを表現する方法を説明しました。
前回の記事はこちら↓
しかし、ここまでの処理ではHPのゲージが無くなっても延々とゲームは続いていきます。
そこで今回はゲージが全部無くなったらゲームオーバーの画面に切り替えるという処理を行っていこうと思います。
それでは早速いってみましょう!
HPが無くなったらゲームオーバーにする方法
HPが無くなったらゲームオーバーにする方法を考えていくのに、まずは流れから説明していきたいと思います。
この処理を行うには「ゲーム画面」と「ゲームオーバー画面」の2つのシーンが必要になります。
そこで、最初に「ゲームオーバー画面」を作成して、次に前回までに作成している「ゲーム画面」からゲームオーバー画面へ切り替えるプログラムを追加していこうと思います。
- ゲームオーバー画面の作成
- シーンの切り替え処理
ゲームオーバー画面を作成する
それでは最初に、ゲームオーバー画面を作成する方法について説明していきます。
新しいシーンを追加する
新しいシーンを追加するには「File」→「NewScene」と進んでください。
すると、「UNTITLED」という新しいシーンが追加されるので「File」から「Save as …」と進んで名前を変更します。
新しいシーンの名前は「GameOver」にしました。
するとこのようにシーン名が「GameOver」に変わっていますね。
画面上に文字を表示する
新しいシーンには当然のように何も表示されていません。
ここに「GAME OVER」の文字を入れていきましょう。
「Create」→「UI」→「Text」と進んでTextオブジェクトを作成します。
すると、このようにヒエラルキー欄に「Text」オブジェクトが作成されました。
次に、画面に表示される文字を変更するためインスペクター欄のText(script)の下の枠内を「GAME OVER」に書き換えます。
すると、画面の表示も変わりました。
文字の色を変える方法
画面に「GAME OVER」を表示させることは出来ましたが、今のままではちょっと見えにくいですね。
そこで、これから文字の色を変更していきます。
- インスペクター欄を下にスクロールしていくと「color」という項目があるので、ここをクリックします。
すると、左側に「色の図」が現れるので好きな色の場所をクリックしてください。
今回は「白」の部分をクリックしました。
とりあえずこれでゲームオーバー画面が出来上がったので、これを保存しておきましょう。
ゲームシーンの切り替え処理
ここまでの所で、切り替え先のゲームシーンが作成出来たので、次は切り替え処理の説明をしていきます。
ゲームシーンの編集画面を切り替える
現在、PCの画面は「GameOver」の編集画面になっていると思いますが、ここからゲーム画面である「TestScene1」の編集画面に切り替えていきます。
「File」→「OpenScene」と進んでください。
するとこのような画面になるので、TestScene1を選んでください。
これで、ゲーム画面のTestScene1に切り替わりました。
監督スクリプトに切り替えプログラムを書き加える
ゲームシーンの編集画面に切り替わったので、監督スクリプトに切り替えプログラムを書き加えていきます。
まずは「GameDirector」スクリプトをクリックします。
「GameDirector」スクリプトでは下記の赤線の部分を書き加えました。
まず、一番上の赤線部分はゲームシーンを切り替える場合に必要なものなので、忘れないようにしてください。
int hpflag = 10 というのは、hpflagという変数に10を代入しますよという意味です。
これはHPが10ですよという宣言になりますね。
そしてpublic void DecreaseHp()というのは岩に当たった時に呼び出されるメソッドになるので、ここに hpflag -= 1を書き加える事で岩に当たったらHPが1減りますよという意味になります。
また、その下の
if(hpflag==0){}の部分は、もしHPが0になったら
SceneManager.LoadScene(”GameOver”)
”「GameOver」画面に切り替わりますよ”という意味です。
ビルドセッティングを行う
ここまで来たら手順は完了なのですが、シーンを追加すると、しなければいけないことがあります。
「File」→「Build setting」と進んでください。
すると、このような画面になります。
「Add Open Scene」をクリックすると「TestScene1」が上の枠に表示されますが、ここに「GameOver」も追加します。
プロジェクト欄の「GameOver」をドラッグして上の枠内にドロップしてください。
すると上の枠内に「GameOver」が追加されます。
実行する
以上で全ての手順が完了なので、「▶」を押して実行してみましょう。
このようにいつもの画面が現れます。
HPが残りわずかになったのであと1つ岩が当たればゲームオーバーです。
このように無事にゲームオーバー画面に切り替わりました。
まとめ
今回はHPが無くなった時にゲームオーバーになる方法を説明しました。
今回はわりとシンプルな処理になるので、そこまで難しくはなかったと思います。
次回は、ゲーム画面に制限時間を作る方法を説明していきます。
それでは最後までありがとうございました☺
完成するゲームはこちら
今回作っているゲームの完成品はこちらになります↓↓↓
オヤジGET!! | フリーゲーム投稿サイト unityroomunityroom.com
]
関連書籍
Unityの教科書 Unity2019完全対応版 2D&3Dスマートフォンゲーム入門講座 (Entertainment&IDEA)
- 作者:北村 愛実
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2019/06/28
- メディア: 単行本