12/11/22 02:56:28.36 3oA0zPbz
大きく分けて、2つの実装方法があると思う。
例えば毎フレーム5ドットずつマップスクロールすると仮定した場合、
(1)スクリーン座標
プレイヤーキャラや敵キャラの位置を、画面上の座標として保持する方式。
「カメラ」は固定のまま、「舞台」が移り変わるイメージ。演劇みたいな。
背景はスクロールするが、実質的に固定画面ゲーと同じようなデザインなゲーム向きだろうか。例えばシューティングゲーム等。
プレイヤーキャラ: プレイヤーが操作しなければ座標は変更されない。
敵キャラ: 通常の動作(前進や停止など)に加えて、毎フレーム5ドットずつ加算される。
背景: 毎フレーム5ドットずつ加算される。
カメラ: 動かさない。
(2)ワールド座標
プレイヤーキャラや敵キャラの位置を、マップ全体から見た座標として保持する方式。
「カメラ」が移動して、マップ上の各オブジェクトを映しだす。TVのマラソン中継や競馬中継みたいな。
よって、自動スクロールの場合、プレイヤーが操作しなければプレイヤーキャラも画面外に消えてしまう。
画面上に表示される位置は、(マップ上の座標)-(カメラ座標)で求められる。
広いマップを探索するようなゲーム、スクロールのタイミングや速度がプレイヤーの操作で変わるゲーム向きか。マリオ等。
プレイヤーキャラ: プレイヤーが操作しなければ座標は変更されない。
敵キャラ: 通常の動作(前進や停止など)による変更。
背景: 動かさない。
カメラ: 毎フレーム5ドットずつ加算される。
……みたいな感じ。