Tạo đối tượng theo bộ hẹn giờ
Thuộc phần Những kiến thức cơ bản về lập trình trong Unity trong hành trình Unity của Coddy. Bài học 63 trên 85.
Một bộ tạo vật thể xuất hiện sau mỗi vài giây cần có bộ đếm thời gian. Time.deltaTime là khoảng thời gian khung hình trước đó cần để hoàn tất, nên cộng dồn giá trị này vào một trường trong mỗi lần gọi Update() sẽ cho biết số giây đã trôi qua. Khi tổng thời gian đạt đến khoảng thời gian đã định, hãy tạo vật thể rồi trừ khoảng thời gian đó khỏi tổng.
Đài phun nước này phóng một giọt nước mỗi nửa giây:
public GameObject dropPrefab;
public float interval = 0.5f;
float timer;
void Update()
{
timer += Time.deltaTime;
if (timer >= interval)
{
Instantiate(dropPrefab, transform.position, Quaternion.identity);
timer -= interval;
}
}timer -= interval giữ lại phần thời gian dư: nếu khung hình kết thúc ở mốc 0.51 giây, nửa giây tiếp theo sẽ bắt đầu đếm từ 0.01, giúp các giọt nước luôn rơi đúng nhịp. timer = 0 sẽ bỏ phần thời gian dư đó, khiến mỗi giọt rơi muộn hơn một chút và độ trễ cứ tăng dần trong một trò chơi dài. timer là biến private vì không ai cần đặt giá trị cho nó trong Inspector.
Thử thách
Trung bìnhThả một hộp sau mỗi interval giây (2 trong Inspector).
- Thêm các trường
float timer;vàint count;. TrongUpdate(), cộngTime.deltaTimevàotimer. - Khi
timer >= interval, gọiInstantiate(boxPrefab, transform.position, Quaternion.identity);và trừintervalkhỏitimer. - Sau đó, cộng 1 vào
countvà ghi nhật ký"Box " + count.
Nhấn Chơi: một hộp rơi sau mỗi 2 giây, và Console đếm Box 1, Box 2. Sau đó nhấn Kiểm tra.
Tự làm thử
using UnityEngine;
public class BoxDropper : MonoBehaviour
{
public GameObject boxPrefab;
public float interval = 1f;
void Update()
{
// Cứ mỗi interval giây: thả một hộp và ghi vào nhật ký "Box 1", "Box 2"...
}
}
Tất cả bài học trong Những kiến thức cơ bản về lập trình trong Unity
1C# cơ bản trong Unity
Xin chào, UnityBiếnSố thập phân cần có fVăn bản trong ConsoleBiến có thể ghi nhớIf và elseSo sánh các sốÔn tập: Thu thập xu7Vòng lặp và phương thức
Lặp lại với forVòng lặp lồng nhauViết phương thứcPhương thức trả lờiMảngÔn tập: Cầu thang2Làm cho nó chuyển động
Đặt khối lập phươngDi chuyển theo từng khung hìnhXoay mỗi giâyĐiều khiển bằng các phímÔn tập: Lái khối lập phương5Vectơ
Cộng vectơPhương hướngKhông gian cục bộ và không gian thế giớiTốc độ theo đường chéoKhoảng cách giữa các vậtVector3 là một structÔn tập: Người điều khiển drone8GameObject và thành phần
Tham chiếu trong InspectorLấy một thành phầnThành phần bị thiếuThêm một thành phầnRequireComponentHiện và ẩnÔn tập: Công tắc đèn11Prefab và tạo đối tượng
Prefab và InstantiateTạo đối tượng theo bộ hẹn giờTạo đối tượng theo lướiDanh sách đối tượngXóa đối tượng mới nhấtHủy đối tượngTạo đối tượng ngẫu nhiênÔn tập: Pháo hoa3Inspector
Các trường trong InspectorSerializeFieldSố thực và MathfThuộc tính trong InspectorÔn tập: thang máy6Biến đổi và hệ phân cấp
Đối tượng cha và conKéo cờ lênTỷ lệNhìn vào các vật thểDi chuyển đến một điểmÔn tập: Mặt trăng quay quanh9Dự án: Bắt lấy ngôi sao
Người bắt saoNgôi sao rơiTự luyện tập: Playground Unity