Tôi đã thấy nhiều ví dụ về cách kết xuất các sprite từ một spritesheet nhưng tôi không hiểu tại sao đó là cách phổ biến nhất để xử lý các sprite trong các trò chơi 2d.
Tôi đã bắt đầu với kết xuất sprite 2d trong một vài ứng dụng demo mà tôi đã tạo bằng cách xử lý từng khung hình động cho bất kỳ loại sprite nào dưới dạng kết cấu của chính nó - và bộ sưu tập họa tiết này được lưu trữ trong từ điển. Điều này có vẻ phù hợp với tôi và phù hợp với quy trình làm việc của tôi khá tốt, vì tôi có xu hướng tạo hoạt hình của mình dưới dạng tệp gif / mng và sau đó trích xuất các khung thành từng pngs.
Có một lợi thế hiệu suất đáng chú ý để kết xuất từ một trang duy nhất chứ không phải từ các kết cấu riêng lẻ? Với phần cứng hiện đại có khả năng vẽ hàng triệu đa giác lên màn hình một trăm lần một giây, điều đó có quan trọng đối với các trò chơi 2d của tôi chỉ với vài chục hình chữ nhật 50x100px không?
Các chi tiết triển khai tải một kết cấu vào bộ nhớ đồ họa và hiển thị nó trong XNA có vẻ khá trừu tượng. Tất cả những gì tôi biết là kết cấu bị ràng buộc với thiết bị đồ họa khi chúng được tải, sau đó trong vòng lặp trò chơi, kết cấu sẽ được hiển thị theo lô. Vì vậy, tôi không rõ liệu lựa chọn của mình có ảnh hưởng đến hiệu suất hay không.
Tôi nghi ngờ rằng có một số lý do rất chính đáng mà hầu hết các nhà phát triển trò chơi 2d dường như đang sử dụng chúng, tôi chỉ không hiểu tại sao.