Menu
CoddyTech

Đêm sinh tồn

Thuộc phần Xây dựng trò chơi thực tế trong hành trình Unity của Coddy. Bài học 59 trên 60.

Một người sống sót đứng trên cánh đồng tối, còn dơi kéo đến suốt đêm, cứ vài giây lại có một con mới xuất hiện từ một trong bốn góc cánh đồng. Mỗi con dơi bay thẳng về phía người sống sót, và con đầu tiên chạm tới họ sẽ kết thúc đêm đó. Đồng hồ ở phía trên đếm số giây đến bình minh: trụ đến lúc đó là bạn thắng. Nút Tạm dừng sẽ đóng băng mọi thứ, còn khi đêm kết thúc, nút Chơi lại sẽ bắt đầu một đêm mới.

Đã viết xong mã trong tập lệnh Player, giúp người sống sót di chuyển bằng thao tác Move. Hãy viết GameManager và Bat.

challenge icon

Thử thách

Khó

Bắt đầu Đêm sinh tồn.

  1. GameManager: một Instance singleton, public enum State { Playing, Paused, Won, Lost } và public State state.
  2. Khi đang Playing, hiển thị Dawn in 12 đếm ngược theo nightLength (làm tròn lên), và tạo một con dơi tại các điểm xuất hiện ngẫu nhiên sau mỗi spawnEvery giây. Lose() đặt trạng thái thành Lost.
  3. Bat: khi đang Playing, bay về phía người chơi với tốc độ speed, ở cùng độ cao; khi ở trong phạm vi reach, gọi Lose().

Nhấn Chơi: dơi sẽ xuất hiện. Sau đó nhấn Kiểm tra.

Tự làm thử

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

Tất cả bài học trong Xây dựng trò chơi thực tế

Tự luyện tập: Playground Unity