Gần đây tôi đã nhảy vào hồ bơi XNA, và đang học tất cả các phần trong và ngoài của khung công tác trong C#. Một điều tôi đã nhận thấy trong nghiên cứu của tôi là dường như không có cách nào được chấp nhận rộng rãi để triển khai GameComponents.Tùy chọn thực thi XNA GameComponent ...?
Sau khi đọc this thread (trong số những người khác), tôi đã phát hiện ra một phổ rộng các tùy chọn giữa các nhà phát triển trò chơi. Tôi đã nhìn thấy một số người ủng hộ không bao giờ sử dụng GameComponents ở tất cả (hoặc chỉ một cách tiết kiệm), trong khi những người khác yêu cầu sử dụng chúng cho mọi thứ, ngay xuống máy nghe nhạc/kẻ thù, tên lửa, v.v. phương pháp tiếp cận và dự trữ kiến trúc GameComponent cho các thực thể ở mức trung đến cao như màn hình, trình kết xuất, cảnh, v.v. do đó chứa và điều khiển các đơn vị trò chơi chi tiết hơn.
Vào cuối ngày, tùy thuộc vào nhà phát triển trò chơi để xác định cách tốt nhất để triển khai khung. Kể từ khi StackOverflow được đóng gói với các nhà phát triển hiểu biết đã quên nhiều hơn tôi sẽ biết, tôi muốn có được một cảm giác về sự đồng thuận ở đây trước khi tôi tiếp tục xuống con đường này với việc sử dụng của riêng tôi của khuôn khổ.
Bất cứ ai quan tâm để trò chuyện với suy nghĩ của họ? Cảm ơn trước!
Cảm ơn bạn đã trả lời! Tôi đã nghe nói rằng bằng cách sử dụng bộ sưu tập Game.Components gây ra chi phí thấp, nhưng nó có vẻ như bạn contend khác. Bạn có nghĩ rằng việc tạo ra hệ thống phân cấp/quản lý thực thể của riêng mình có tiềm năng hiệu suất cao hơn không? – Syndog
Tôi xin lỗi, tôi thực sự không biết. Bạn chắc chắn có được quyền kiểm soát nhiều hơn, vì vậy có thể bạn có thể bóp thêm hiệu suất. Nhưng sau đó một lần nữa, MS có thể biết nơi họ đang làm và ép hiệu suất ra khỏi GameComponent để bắt đầu với :) Nhưng đối với một số đối tượng, đặc biệt nếu bạn có kế hoạch để có rất nhiều trong số họ trên màn hình (như đạn), họ còn tốt hơn như cấu trúc vì lý do hiệu suất – Bob
GameComponents sẽ được triển khai dưới dạng danh sách nội bộ, không thể hiệu quả hơn nhiều so với điều đó! Đối với cấu trúc, tôi không chắc chắn đó là một ý tưởng tuyệt vời, đi qua một cấu trúc về trong C# sẽ liên quan đến rất nhiều giá trị sao chép. Các bộ thu rác chỉ chậm trên xbox, trên PC bạn có thể khá nhiều chỉ cần quên nó. – Martin