Was ist der praktischste Weg, um Kamera / Ansichtsfenster in ein 2D-Spiel zu implementieren?
Ich habe gelesen, dass ich das Objekt speichern soll Weltposition statt Position relativ zum Bildschirm?
Momentane Situation:
Ich habe ein einfaches 2D-Spiel implementiert, in dem ich Objekte und Ebenen aus XML-Dateien lade. Derzeit sieht die Level-XML-Datei so aus:
<map>
<tile obj="ground" x="0" y="555" />
<tile obj="ground" x="16" y="555" />
<tile obj="ground" x="32" y="555" />
...
</map>
Alle Objekte haben eine 2D-Vektor- "Position", in der ihre aktuelle Position auf dem Bildschirm gespeichert ist.
Was ich mir wünsche:
In dem Bild:
- Die Kamera ist entweder 800x600 oder 640x480
- Blöcke und Sprites haben eine Größe von 16 x 16 Pixel.
- Weltgröße kann variieren
- Die Koordinaten sollten wahrscheinlich relativ zur Welt normalisiert werden, nicht zum Bildschirm?
- Position des Ansichtsfensters relativ zu x, y und des Players, wenn der Player die Totzone der Kamera erreicht (ähnlich wie in diesem Video ).
Ich frage nach Pseudobeispielen / Artikeln, aber wenn Sie wissen möchten, was ich für die Entwicklung verwende: SDL & C / C ++.