Đây là một câu hỏi về thiết kế ... Tôi chắc chắn rằng điều này có thể được khái quát hơn, nhưng tôi đang gặp khó khăn với nó. Tôi đang tự hỏi về thiết kế cho các tương tác đối tượng trò chơi - đây là ví dụ của tôi (nền tảng câu đố 2D).
Nói rằng người chơi đang cố gắng tiến bộ thông qua một cấp độ. Có nhiều đèn có thể được chỉ theo các hướng khác nhau. Dưới đây là một ví dụ về cách các vật thể ánh sáng này có thể tương tác ...
- Một ánh sáng chiếu một nền tảng cho phép người chơi vượt qua một khoảng trống
- Một ánh sáng làm giảm các hệ số ma sát của bất cứ thứ gì nó chạm vào, một ánh sáng khác làm tăng nó
- Một ánh sáng làm mất tác dụng của tất cả các đèn, điều này sẽ làm cho nền tảng biến mất trong khi đèn đó sáng và vô hiệu hóa các bộ điều chỉnh ma sát
- Vân vân...
Cách tốt nhất để tiếp cận vấn đề này khi sử dụng kiến trúc thành phần là gì? Các thành phần cho từng đối tượng chính có vẻ rõ ràng, cũng như một cách rõ ràng để xác định ảnh hưởng của chúng đối với môi trường. Một lớp để "giải quyết" tương tác (có vẻ như điều đó có thể trở thành một mớ hỗn độn một cách nhanh chóng)? Một số cách sử dụng mẫu trang trí để tạo các đối tượng kết hợp cho những đối tượng đang tương tác tại một thời điểm nhất định? Một cấu trúc dữ liệu cho vay chính nó?
Ngoài ra, kết nối âm thanh với các tương tác này? Có vẻ như việc kết nối âm thanh với hệ thống sẽ giống như kết nối bất kỳ tài sản nào khác, như khả năng hiển thị hoặc chuyển động / va chạm của người chơi.
Rõ ràng là khi nhiều thành phần được thêm vào, sẽ rất tuyệt nếu có một hệ thống mạnh mẽ có thể xử lý các thành phần mới với ít sửa đổi, nhưng tôi không quen với cách thiết kế này.
Thông tin khác: Công cụ tôi đang sử dụng là công cụ XNA có tên IceCream .