Apa cara paling praktis untuk mengimplementasikan kamera / viewport ke game 2D?
Saya pernah membaca, bahwa saya harus menyimpan posisi dunia objek alih-alih posisi relatif ke layar?
Situasi saat ini:
Saya telah mengimplementasikan gim 2D sederhana tempat saya memuat objek dan level dari file XML. Saat ini tingkat file XML terlihat seperti ini:
<map>
<tile obj="ground" x="0" y="555" />
<tile obj="ground" x="16" y="555" />
<tile obj="ground" x="32" y="555" />
...
</map>
Semua objek memiliki "posisi" vektor 2d yang menyimpan lokasi mereka saat ini di layar.
Apa yang saya inginkan:
Dalam gambar:
- Kamera adalah 800x600 atau 640x480
- Blok dan sprite berukuran 16x16 piksel.
- Ukuran dunia dapat bervariasi
- Koordinat mungkin harus dinormalisasi relatif terhadap dunia, bukan ke layar?
- Posisi viewport relatif terhadap x, y dan bergerak pemain saat mencapai zona mati kamera (mirip dengan video ini ).
Saya meminta contoh / artikel semu, tetapi jika Anda perlu tahu apa yang saya gunakan untuk pengembangan: SDL & C / C ++.