Trong bài này
Bản sao giúp một nhân vật tạo ra nhiều đối tượng giống nhau trong lúc chương trình chạy. Đây là kỹ thuật quan trọng trong game: đạn bay, đồng xu, quái vật, mưa sao băng, chướng ngại vật hoặc nhiều bong bóng xuất hiện liên tục.
Mục tiêu bài học
Sau bài này, em cần:
- Hiểu khác biệt giữa sprite gốc và clone.
- Tạo clone đúng thời điểm.
- Viết hành vi cho clone bằng mũ
khi tôi bắt đầu là bản sao. - Xóa clone khi không còn cần thiết.
- Tránh tạo clone quá nhiều hoặc để clone tồn tại mãi.
Tạo clone

Sprite gốc có thể tạo clone của chính nó. Sau khi clone được tạo, kịch bản khi tôi bắt đầu là bản sao sẽ chạy cho clone đó.
Hành vi riêng của clone

Các clone dùng chung code mẫu nhưng mỗi clone có thể xuất hiện ở vị trí khác nhau, di chuyển riêng và bị xóa riêng.
Xóa clone

Nếu clone không bị xóa, dự án có thể chậm dần vì quá nhiều đối tượng đang tồn tại.
Ví dụ đạn bay

Trong game bắn mục tiêu, sprite đạn gốc thường ẩn đi. Khi người chơi bấm phím, chương trình tạo clone; clone hiện ra, bay về phía trước và tự xóa khi chạm cạnh.
Lỗi thường gặp
| Lỗi | Hậu quả | Cách sửa |
|---|---|---|
| Tạo clone nhưng không có hành vi clone | Clone xuất hiện nhưng không làm gì. | Thêm khi tôi bắt đầu là bản sao. |
| Quên xóa clone | Dự án nặng và rối. | Xóa clone khi chạm cạnh hoặc xong nhiệm vụ. |
| Sprite gốc không ẩn | Thấy thêm một đối tượng không mong muốn. | Ẩn sprite gốc nếu chỉ dùng nó làm mẫu. |
| Tạo clone quá nhanh | Sân khấu đầy đối tượng. | Dùng chờ hoặc giới hạn số lượng. |
Tóm tắt
Clone giúp tạo nhiều đối tượng động từ một sprite mẫu. Đọc chương trình clone cần theo ba điểm: khi nào tạo, clone làm gì khi bắt đầu, và khi nào clone bị xóa.