Menu
CoddyTech

Noc przetrwania

Część sekcji Tworzenie prawdziwych gier ścieżki Unity w Coddy. Lekcja 59 z 60.

Ocalały stoi na ciemnym polu, a przez całą noc nadlatują po niego nietoperze — co kilka sekund nowy, z jednego z czterech rogów pola. Każdy nietoperz leci prosto na ocalałego, a pierwszy, który do niego dotrze, kończy noc. Zegar u góry odlicza sekundy do świtu: przetrwaj do tego czasu, a wygrasz. Przycisk Pauza zatrzymuje wszystko, a gdy noc się kończy, przycisk Zagraj ponownie rozpoczyna nową.

Skrypt Player, który porusza ocalałym za pomocą akcji Move, jest już napisany. Napisz GameManager i Bat.

challenge icon

Wyzwanie

Trudny

Rozpocznij Noc przetrwania.

  1. GameManager: singleton Instance, public enum State { Playing, Paused, Won, Lost } oraz public State state.
  2. Gdy gra jest w stanie Playing, wyświetlaj Dawn in 12 i odliczaj czas nightLength (zaokrąglając w górę), a także co spawnEvery sekund umieszczaj nietoperza w losowym punkcie odradzania. Lose() ustawia stan Lost.
  3. Bat: gdy gra jest w stanie Playing, leć w stronę gracza z prędkością speed, na tej samej wysokości; gdy znajdziesz się w odległości mniejszej niż reach, wywołaj Lose().

Naciśnij „Graj”: pojawią się nietoperze. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

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;
}

Wszystkie lekcje w sekcji Tworzenie prawdziwych gier

Poćwicz samodzielnie: Edytor online Unity