Akhir Malam
Termasuk bagian Membangun Game Sungguhan dalam perjalanan Unity di Coddy. Pelajaran 60 dari 60.
Tantangan terakhir ini menyelesaikan seluruh permainan: sebuah pengelola dengan beberapa status, jeda yang menghentikan waktu, dua akhir, dan mulai ulang yang mengatur kembali skala waktu.
Tantangan
SulitTambahkan jeda, dua akhir, dan mulai ulang.
pauseButtonhanya beralih antara Playing dan Paused: Paused mengaturTime.timeScaleke 0 dan menampilkanpausePanel, sedangkan Playing membatalkan keduanya.- Pada 0 detik, malam berakhir dengan Won. Saat Won atau Lost: skala waktu menjadi 0,
endPanelditampilkan denganYou survived the night!atauThe bats got youdiendText. restartButtonmengatur skala waktu ke 1 dan memuat ulang scene.
Tekan tombol “Main”, jeda, kalah, lalu main lagi. Setelah itu, tekan tombol “Periksa”.
Coba sendiri
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;
public class GameManager : MonoBehaviour
{
public enum State { Playing, Paused, Won, Lost }
public static GameManager Instance;
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;
public State state;
private float timeLeft;
private float spawnTimer;
void Awake()
{
Instance = this;
}
void Start()
{
state = State.Playing;
timeLeft = nightLength;
ShowDawn();
}
void Update()
{
if (state != State.Playing) return;
timeLeft -= Time.deltaTime;
spawnTimer += Time.deltaTime;
if (spawnTimer >= spawnEvery)
{
spawnTimer -= spawnEvery;
Transform point = spawnPoints[Random.Range(0, spawnPoints.Length)];
Instantiate(batPrefab, point.position, Quaternion.identity);
}
ShowDawn();
}
public void Lose()
{
if (state != State.Playing) return;
state = State.Lost;
}
void ShowDawn()
{
dawnText.text = "Dawn in " + Mathf.CeilToInt(timeLeft);
}
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Membangun Game Sungguhan
2Tombol dan Layar
Tombol dan onClickLambdaMenghubungkan di InspectorPanel Aktif dan NonaktifBilah KesehatanRangkuman: Toko Upgrade5Menyimpan dengan PlayerPrefs
Simpan AngkaMuat dengan Nilai DefaultSkor TertinggiSimpan PengaturanUlasan: Koin di BankLatihan sendiri: Playground Unity