Menu
CoddyTech

Ôn tập: pool đạn

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 49 trên 64.

Pooling giữ các đối tượng đã tắt sẵn sàng thay vì hủy chúng. Ở đây, các viên đạn của xe tăng lấy từ ObjectPool của Unity và được đưa trở lại sau mỗi phát bắn.

challenge icon

Thử thách

Trung bình

Khiến xe tăng bắn đạn lấy từ pool.

  1. Trong Awake của Tank, tạo một ObjectPool<Bullet>: bật khi lấy ra, tắt khi trả lại, hủy khi loại bỏ, maxSize: 4.
  2. Khi nhấn phím cách, lấy một viên đạn, đặt trước xe tăng 1 đơn vị và truyền pool cho viên đạn.
  3. Bullet bay theo hướng +z với speed; viên đạn tự trả về pool sau life giây kể từ mỗi lần bắn, hoặc khi trúng một Target (gọi Hit()).

Nhấn Chơi rồi bắn vào cả hai mục tiêu. Sau đó nhấn Kiểm tra.

Tự làm thử

using UnityEngine;
using UnityEngine.Pool;

public class Bullet : MonoBehaviour
{
    public float speed = 15f;
    public float life = 1f;

    // Bay về phía trước; quay lại pool khi va vào Target hoặc sau life giây
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

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

Tự luyện tập: Playground Unity