Jaki jest najbardziej praktyczny sposób na wdrożenie kamery / rzutni w grze 2D?
Czytałem, że powinienem przechowywać pozycję świata obiektów zamiast pozycji względem ekranu?
Obecna sytuacja:
Zaimplementowałem prostą grę 2D, w której ładuję obiekty i poziomy z plików XML. Obecnie plik XML poziomu wygląda następująco:
<map>
<tile obj="ground" x="0" y="555" />
<tile obj="ground" x="16" y="555" />
<tile obj="ground" x="32" y="555" />
...
</map>
Wszystkie obiekty mają „pozycję” wektora 2d, przechowującą ich bieżące położenie na ekranie.
Co chcę, żeby to było:
Na obrazie:
- Aparat ma rozdzielczość 800 x 600 lub 640 x 480
- Bloki i duszki mają wymiary 16 x 16 pikseli.
- Świat rozmiar może się różnić
- Współrzędne prawdopodobnie powinny być znormalizowane względem świata, a nie ekranu?
- Pozycja rzutni względem x, y gracza i przesuwa się, gdy gracz osiągnie martwą strefę kamery (podobnie jak w tym filmie ).
Pytam pseudo przykłady / artykuły, ale jeśli chcesz wiedzieć, czego używam do programowania: SDL i C / C ++.