Nói chung để phát hiện va chạm trong các trò chơi vải tôi sử dụng một cái gì đó như:Làm thế nào để phát hiện va chạm giữa các đối tượng chuyển động nhanh
function collides(a, b) {
return a.x < b.x + b.width &&
a.x + a.width > b.x &&
a.y < b.y + b.height &&
a.y + a.height > b.y;
}
Nhưng điều này chỉ phát hiện va chạm nếu các đối tượng được chạm vào thời điểm khung được xử lý. Nếu tôi có một sprite có tốc độ (tính bằng pixel/frame) lớn hơn chiều rộng của một chướng ngại vật trong đường đi của nó, nó sẽ đi qua chướng ngại vật mà không bị va chạm được phát hiện.
Làm cách nào để kiểm tra nội dung giữa sprite và điểm đến của nó?
Trên mỗi khung hình, kiểm tra xem một vectơ có độ dài tốc độ sprite của bạn giao cắt với đối tượng hay không. –
Bạn có thể cân nhắc việc yêu cầu điều này trên [GameDev.SE]. – zzzzBov
Cũng liên quan: http://stackoverflow.com/questions/7364884/problem-with-collision-detection-of-a-fast-moving-ball-with-a-racket-controlled – JayC