コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity 入門】全方位シューティングを作る 第23回 ゲームオーバーの表示

目次

前回のチュートリアル

はじめに

前回は、レベルの表示を作成しました
次回は、ゲームオーバーの表示を作成していきます

ゲームオーバーのテキストの配置

まずは、ゲームオーバーと表示するテキストを配置していきます

f:id:baba_s:20180401092825p:plain

「LevelTitle」オブジェクトを選択した状態で Ctrl + D を押します

f:id:baba_s:20180401092848p:plain

複製した「LevelTitle (1)」オブジェクトを選択して、
次のようにパラメータを設定します

  • 名前を「GameOver」に変更
  • 「Pos X」と「Pos Y」に「0」と入力
  • 「Width」に「122」と入力
  • 「Height」に「26」と入力
  • 「Scale」の「X」と「Y」に「2」と入力
  • 「Text」に「GAME OVER」と入力

これで、ゲームオーバーと表示するテキストの配置が完了しました

UI を制御するスクリプトの修正

次に、プレイヤーが死んだらゲームオーバーと表示するコードを作成していきます

「Hud」スクリプトをコードエディタで開き、
変数の定義に下記のコードを追加します

public GameObject m_gameOverText; // ゲームオーバーのテキスト

次に、Update 関数の最後に下記のコードを追加します

// プレイヤーが非表示ならゲームオーバーと表示する
m_gameOverText.SetActive( !player.gameObject.activeSelf );

f:id:baba_s:20180401093233p:plain

Unity に戻り、「Canvas」オブジェクトを選択した状態で、
「GameOver」オブジェクトを「Game Over Text」の欄にドラッグして設定します

f:id:baba_s:20180401093736g:plain

これで Unity を再生すると、プレイヤーの HP が 0 になった時に、
「GAME OVER」と表示されるようになります

次回は、だんだん敵の出現頻度を上げるコードを作成していきます

次のチュートリアル

チュートリアル一覧