Menu
CoddyTech

Ôn tập: tháp pháo mô-đun

Thuộc phần Kiến trúc trò chơi trong Unity trong hành trình Unity của Coddy. Bài học 5 trên 64.

challenge icon

Thử thách

Dễ

Hãy tạo vũ khí cho Turret1. TurretControl và Cannon đã sẵn sàng.

  1. Trong Ammo, viết public bool Take(): dùng một viên đạn pháo rồi trả về true, hoặc ghi nhật ký name + " is empty" rồi trả về false.
  2. Khai báo Weapon là lớp trừu tượng với [RequireComponent(typeof(Ammo))], và khai báo Fire() là protected abstract không có phần thân.
  3. Pull() không làm gì trong thời gian cooldown; nếu không, nếu Take() trả về đúng, hãy khởi động lại thời gian chờ và gọi Fire().

Nhấn Chơi rồi bắn cho đến khi hết đạn. Sau đó nhấn Kiểm tra.

Tự làm thử

using UnityEngine;

// Những điểm chung của mọi vũ khí trên tháp pháo.
public class Weapon : MonoBehaviour
{
    public GameObject shellPrefab;
    public float cooldown = 1f;

    public void Pull()
    {
        // chờ hết thời gian hồi, lấy một viên đạn từ Ammo, rồi bắn
    }

    // Mỗi vũ khí có cách bắn riêng.
    protected virtual void Fire()
    {
    }

    // Một viên đạn xuất phát từ vị trí này so với tháp pháo, bay theo hướng tháp pháo đang quay.
    protected void Launch(Vector3 offset)
    {
        Instantiate(shellPrefab, transform.position + transform.rotation * offset, transform.rotation);
    }
}

Tất cả bài học trong Kiến trúc trò chơi trong Unity

Tự luyện tập: Playground Unity