Menu
CoddyTech

サバイバルナイト

CoddyのUnityジャーニー「本格的なゲームを作る」セクションの一部。レッスン 59/60。

生存者が暗い野原に立ち、夜の間ずっとコウモリが襲ってきます。野原の四隅のいずれかから、数秒おきに1匹ずつ現れます。コウモリはそれぞれ生存者に向かってまっすぐ飛び、最初に生存者へたどり着いたコウモリが夜を終わらせます。画面上部の時計は夜明けまでの秒数を数えます。それまで生き延びれば勝ちです。「一時停止」ボタンを押すとすべてが停止し、夜が終わったら「もう一度プレイ」で新しい夜が始まります。

Moveアクションで生存者を歩かせるPlayerスクリプトはすでに書かれています。GameManagerとBatを書きましょう。

challenge icon

チャレンジ

難しい

サバイバルナイトを開始します。

  1. GameManager: シングルトンのInstance、public enum State { Playing, Paused, Won, Lost }、およびpublic State state。
  2. プレイ中は、nightLengthのカウントダウン(切り上げ)をDawn in 12と表示し、spawnEvery秒ごとにランダムなスポーン地点にコウモリを出現させます。Lose()はLostを設定します。
  3. Bat: プレイ中は、プレイヤーと同じ高さでspeedの速さでプレイヤーに向かって飛びます。reach以内に入ったら、Lose()を呼び出します。

「プレイ」を押すと、コウモリがやってきます。その後、「確認」を押します。

自分で試してみよう

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;

public class GameManager : MonoBehaviour
{
    public float nightLength = 15f;
    public float spawnEvery = 2f;
    public GameObject batPrefab;
    public Transform[] spawnPoints;
    public TMP_Text dawnText;
    public Button pauseButton;
    public GameObject pausePanel;
    public GameObject endPanel;
    public TMP_Text endText;
    public Button restartButton;
}

本格的なゲームを作るのすべてのレッスン

自分で練習してみよう: Unityプレイグラウンド