カメラ/ビューポートを2Dゲームに実装する最も実用的な方法は何ですか?
画面を基準とした位置ではなく、オブジェクトの世界の位置を保存する必要があることを読みましたか?
現在の状況:
XMLファイルからオブジェクトとレベルを読み込む単純な2Dゲームを実装しました。現在、レベルXMLファイルは次のようになっています。
<map>
<tile obj="ground" x="0" y="555" />
<tile obj="ground" x="16" y="555" />
<tile obj="ground" x="32" y="555" />
...
</map>
すべてのオブジェクトには、画面上の現在の場所を格納する2Dベクトル「位置」があります。
私が望むもの:
写真の中の:
- カメラは800x600または640x480です
- ブロックとスプライトは16x16ピクセルです。
- 世界のサイズは異なる場合があります
- 座標はおそらく画面ではなく世界に対して正規化されるべきでしょうか?
- プレーヤーのx、yに対するビューポートの位置。プレーヤーがカメラのデッドゾーンに到達したときに移動します(このビデオと同様)。
私は擬似的な例/記事を求めていますが、開発に使用しているものを知る必要がある場合:SDL&C / C ++。