Tôi đang làm việc trên một game bắn súng topdown 2d, và bây giờ cần phải vượt ra ngoài hệ thống va chạm hộp hình chữ nhật cơ bản của tôi.
Tôi có cấp độ lớn với nhiều họa tiết khác nhau, tất cả đều có hình dạng và kích cỡ khác nhau. Hoạ tiết cho các họa tiết là tất cả các tệp png vuông có nền trong suốt, vì vậy tôi cũng cần một cách để chỉ va chạm khi người chơi đi vào phần màu của kết cấu, chứ không phải nền trong suốt.
Tôi dự định xử lý va chạm như sau:
- Kiểm tra xem có bất kỳ họa tiết nào trong phạm vi của người chơi không
- Làm một thử nghiệm va chạm hộp giới hạn trực tràng
- Thực hiện một vụ va chạm chính xác (Nơi tôi cần giúp đỡ)
Tôi không bận tâm đến các kỹ thuật tiên tiến, vì tôi muốn thực hiện đúng với tất cả các yêu cầu của mình, nhưng tôi không chắc làm thế nào để tiếp cận điều này. Những kỹ thuật hoặc thậm chí thư viện để thử. Tôi biết rằng tôi có thể sẽ cần phải tạo và lưu trữ một số loại hình dạng đại diện chính xác cho mỗi sprite trừ nền trong suốt.
Tôi đã đọc rằng mỗi pixel là chậm, do đó, với mức độ lớn và số lượng đối tượng tôi không nghĩ rằng nó sẽ phù hợp. Tôi cũng đã xem Box2d, nhưng không thể tìm thấy nhiều tài liệu hoặc bất kỳ ví dụ nào về cách khởi động và chạy với SFML.