Tôi đang trong quá trình phát triển một trò chơi dựa trên sprite 2D cho Windows 7 Phone, sử dụng XNA. Việc đào tạo và hướng dẫn có sẵn cho nó khá hữu ích, nhưng vấn đề tôi gặp phải là mỗi người trong số họ tiếp cận thiết kế lớp học của họ khác nhau và mã không được đặc biệt chú ý. Kết quả là, tôi rất khó có được sự hiểu biết tốt về trách nhiệm nào tôi nên giao cho một lớp cụ thể.
Ví dụ, tôi có thể có một lớp sprite cơ sở BaseSprite
biết cách tự vẽ, kiểm tra va chạm, v.v. Sau đó tôi có thể có một AnimatedSprite
lớp sẽ biết cách điều hướng bảng sprite của nó, một ExplodingSprite
lớp, v.v. Kỹ thuật này được thể hiện trong ví dụ về Kẻ xâm lược không gian trong tài liệu Phiên bản khởi động 2 của Windows 7 Phone .
Ngoài ra, thay vào đó, tôi có thể đặt phần lớn kết xuất và chạy trách nhiệm trò chơi trong một GameScreen
lớp; lớp đó và các lớp dẫn xuất của nó hoạt động giống như các biểu mẫu hoặc trang web về trách nhiệm của chúng. Các lớp Sprite là các thùng chứa đơn giản hơn với logic ít hơn nhiều.
Đây là kỹ thuật được sử dụng trong trò chơi Alien Sprite của Windows 7 Phone Kit và các ví dụ về trình quản lý trạng thái trò chơi khác.
Cách tiếp cận hướng đối tượng chính xác để thiết kế lớp trong phát triển trò chơi là gì?