Có lẽ trong mọi trò chơi, nhà phát triển phải bằng cách nào đó xử lý đầu vào, có thể đó là các sự kiện bàn phím và chuột đơn giản, các sự kiện chạm hoặc một cái gì đó như đầu vào gia tốc. Đầu vào này trực tiếp của các đối tượng ảnh hưởng gián tiếp trong trò chơi. Đôi khi cùng một đầu vào có thể ảnh hưởng đến các đối tượng khác nhau. Bây giờ tôi đã suy nghĩ về cách mô hình hóa này. Cách tôi nhìn thấy nó có hai cách tiếp cận khác nhau.
Hãy để đối tượng trò chơi tự xử lý nó, đăng ký các sự kiện và gọi phương thức riêng của nó. Điều này có lợi thế là để cho các đối tượng trò chơi tự quyết định đầu vào nào gây ra hành động nào. Một nhược điểm dường như là mã đầu vào bị sai lệch với mã đối tượng trò chơi "cốt lõi". Ngoài ra, các đối tượng trò chơi không biết về trạng thái của phần còn lại của trò chơi và đôi khi có thể không hành động theo các sự kiện đầu vào. Điều này có vẻ không đúng.
Có một bộ điều khiển đầu vào chung đảm nhiệm tất cả các đầu vào và đưa ra quyết định về việc ai sẽ xử lý sự kiện nào. Điều này dường như tách biệt mối quan tâm tốt hơn, nhưng kết hợp chặt chẽ lớp trình điều khiển đầu vào với các đối tượng trò chơi. Nó bằng cách nào đó cần biết ai muốn nhận sự kiện nào và ở trạng thái nào. Điều này cũng không đúng.
Những chiến lược nào bạn đang sử dụng để xử lý việc này?