Tôi có một trò chơi Breakout, tại một số điểm, tôi phát hiện ra sự va chạm giữa quả bóng và mái chèo với thứ gì đó như thế này:
// Ball class
rectangle.Intersects(paddle.Rectangle);
Có cách nào để tôi có thể có được tọa độ chính xác của vụ va chạm, hoặc bất kỳ chi tiết nào về nó, với hiện tại XNA API
không?
Tôi đã nghĩ đến việc thực hiện một số tính toán cơ bản, chẳng hạn như so sánh tọa độ chính xác của từng đối tượng vào thời điểm va chạm. Nó sẽ trông giống như thế này:
// Ball class
if((rectangle.X - paddle.Rectangle.X) < (paddle.Rectangle.Width / 2))
// Collision happened on the left side
else
// Collision happened on the right side
Nhưng tôi không chắc đây là cách chính xác để làm điều đó.
Các bạn có bất cứ lời khuyên về có thể một động cơ tôi có thể phải sử dụng để đạt được điều đó? Hoặc thậm chí thực hành mã hóa tốt bằng phương pháp này?
get the rectangle where the two overlap
chức năng này có sẵn trênXNA API
hoặc tôi phải tải xuống một số nội dung bổ sung, nhưPlatformer Starter Kit
?