Cách thiết thực nhất để triển khai camera / khung nhìn cho trò chơi 2D là gì?
Tôi đã đọc, rằng tôi nên lưu trữ vị trí thế giới đối tượng thay vì vị trí liên quan đến màn hình?
Tình hình hiện tại:
Tôi đã triển khai một trò chơi 2D đơn giản trong đó tôi tải các đối tượng và cấp độ từ các tệp XML. Hiện tại tệp XML cấp trông như thế này:
<map>
<tile obj="ground" x="0" y="555" />
<tile obj="ground" x="16" y="555" />
<tile obj="ground" x="32" y="555" />
...
</map>
Tất cả các đối tượng có "vị trí" vector 2d lưu trữ vị trí hiện tại của chúng trên màn hình.
Những gì tôi muốn nó là:
Trong hình:
- Máy ảnh có kích thước 800x600 hoặc 640x480
- Khối và họa tiết là 16x16 pixel.
- Kích thước thế giới có thể thay đổi
- Các tọa độ có lẽ nên được chuẩn hóa so với thế giới, không phải với màn hình?
- Vị trí khung nhìn tương ứng với x, y của người chơi và di chuyển khi người chơi đến vùng chết của máy ảnh (tương tự video này ).
Tôi đang hỏi các ví dụ / bài viết giả, nhưng nếu bạn cần biết những gì tôi đang sử dụng cho sự phát triển: SDL & C / C ++.