Về chuyên mục / Explore this topic →

Một va chạm chỉ tạo một kết quả

Nếu nhân vật còn chạm vật thể trong nhiều khung hình, điểm có thể tăng liên tục. Định nghĩa rõ sự kiện được tính một lần hay theo thời gian. Với vật thể thu thập, đánh dấu đã nhận và loại khỏi tương tác ngay khi cập nhật điểm. Đừng chỉ ẩn hình ảnh trong khi vùng va chạm vẫn tồn tại.

Tách thông báo khỏi giao diện

Trạng thái trò chơi nên là nguồn dữ liệu của điểm và kết quả. Giao diện nhận thay đổi rồi hiển thị. Trong Godot, signals cho phép các node phản ứng với sự kiện mà không cần phụ thuộc chặt vào nhau. Cách tổ chức cụ thể cần phù hợp cấu trúc dự án, nhưng tránh sửa cùng một giá trị ở nhiều nơi.

Đặt lại toàn bộ trạng thái cần thiết

Nút chơi lại cần khôi phục vị trí, vận tốc, điểm, bộ đếm, vật thể đã thu thập và trạng thái thắng hoặc thua. Đồng thời kiểm tra các bộ hẹn giờ và trình xử lý sự kiện. Nếu mỗi lần chơi lại gắn thêm một handler, game có thể chạy nhanh hơn hoặc cộng điểm hai lần ở lượt sau.

Prompt rà soát

Rà soát luồng va chạm và chơi lại. Chỉ ra nơi phát sinh sự kiện, nơi cập nhật điểm và nơi giao diện đọc trạng thái. Sửa để một vật thể chỉ được nhận một lần. Nút chơi lại phải đưa game về đúng trạng thái đầu. Kiểm tra va chạm kéo dài, hai vật thể gần nhau và năm lần chơi lại.

Tạo bảng quan sát nhỏ

Ghi kết quả của từng trường hợp thay vì chỉ chạy một lượt. Điểm trước và sau khi thu thập là bao nhiêu? Vật thể có còn tương tác? Chơi lại có tạo nhiều nhân vật? Khi một trường hợp sai, giảm bản đồ về vài vật thể để tái hiện. Chỉ đưa bản sửa trở lại màn chơi lớn sau khi kiểm tra.

English quick guide

Treat collisions as explicit events and keep one source of truth for score. Restart must reset state, timers and listeners; test multiple consecutive playthroughs.

Tài liệu đọc thêm

Tiếp tục học trong chuyên mục →