Tôi biết singletons rất tệ, công cụ trò chơi cũ của tôi đã sử dụng một đối tượng 'Trò chơi' đơn lẻ xử lý tất cả mọi thứ từ việc giữ tất cả dữ liệu đến vòng lặp trò chơi thực tế. Bây giờ tôi đang làm một cái mới.
Vấn đề là, để vẽ một cái gì đó trong SFML bạn sử dụng window.draw(sprite)
trong đó cửa sổ là một sf::RenderWindow
. Có 2 lựa chọn tôi thấy ở đây:
- Tạo một đối tượng Trò chơi đơn lẻ mà mọi thực thể trong trò chơi lấy ra (những gì tôi đã sử dụng trước đó)
- Biến điều này thành hàm tạo cho các thực thể:
Entity(x, y, window, view, ...etc)
(điều này thật vô lý và gây phiền nhiễu)
Điều gì sẽ là cách thích hợp để làm điều này trong khi giữ cho hàm tạo của Thực thể chỉ là x và y?
Tôi có thể thử và theo dõi mọi thứ tôi tạo trong vòng lặp trò chơi chính, và chỉ cần tự vẽ sprite của chúng trong vòng lặp trò chơi, nhưng điều đó có vẻ lộn xộn và tôi cũng muốn kiểm soát hoàn toàn toàn bộ chức năng vẽ cho thực thể.